Why asp.net model binder can not map a string values to a Object property that have the same name -
i have model class named server , have created new servertoedit viewmodel class, follow:-
public class servertoedit     {         public server server { get; set; }        [required]         public string ipaddress { get; set; }     }   part of create view is:-
    model tms.viewmodels.servertoedit      @* partial view defines form fields appear when creating , editing entities *@      @html.antiforgerytoken()     <div class="editor-label">         @html.labelfor(model => model.server.customername)     </div>     <div class="editor-field">         @html.editorfor(model =>model.server.customername)         @html.validationmessagefor(model =>model.server.customername)     </div>     <div class="editor-label">        ip address     </div>     <div class="editor-field">         @html.editorfor(model => model.ipaddress)         @html.validationmessagefor(model => model.ipaddress)     </div>  ipaddress <div class="editor-label">     @html.labelfor(model =>model.server.iloip) </div> <div class="editor-field">     @html.editorfor(model =>model.server.iloip)     @html.validationmessagefor(model =>model.server.iloip) </div>   the create actin method :-
[httppost]         [validateantiforgerytoken]         public actionresult create(server server, technologyip technologyip)         {            try             {                 if (modelstate.isvalid)             {                 repository.insertorupdateserver(server,technologyip);                 repository.save();                 return redirecttoaction("index");             }   but model binder not able bind ipaddress field inside view technologyip.ipaddress property? technologyip model class :-
public class technologyip     {         public string ipaddress { get; set; }          public int id { get; set; }     }      
on first look, imagine it's because model passed view not same model asking back. change line:
public actionresult create(server server, technologyip technologyip)   to
public actionresult create(servertoedit servertoedit)   and line:
repository.insertorupdateserver(server,technologyip);   to
repository.insertorupdateserver(servertoedit.server, servertoedit.technologyip);   let know how on.
Comments
Post a Comment