javascript - Inexplicable MVC model data alteration -


i have model object contains list of objects have 3 numeric fields , 1 string field, similar following:

public class datamodel {     public list<dataitemmodel> dataitems { get; set; } }  public class datamodel {     public string comment { get; set; }     public decimal value { get; set; }     public int id { get; set; }     public int integervalue { get; set; } } 

the view has table allows user set each item's value , comment fields (id generated data layer , integervalue derived value). user can add , delete items collection via ajax, using jquery post() method, webpage being partially updated using html().

the issue i'm seeing if have list of comment/value pairs so:

item 1, 1.00 item 2, 2.00 item 3, 3.00 item 4, 4.00 item 5, 5.00 

and delete third item via webpage, controller correctly changes data to:

item 1, 1.00 item 2, 2.00 item 4, 4.00 item 5, 5.00 

and returns new html using partialview(). when webpage updated, model somehow transformed be:

item 1, 1.00 item 2, 2.00 item 3, 3.00 item 4, 4.00 

i have confirmed using vs2013's debugger , firefox's network packet analyser thing, @ loss how or why happens. don't think it's caching issue, jquery docs post() never caches definition. guess has witht call partialview()?

edit: (partial) view in question table inside html form, placed inside div using jquery's html() method.

update: i've done more debugging, , have managed eliminate call partialview() being @ fault; it's returning correctly formed partialviewresult.

it seems can fix whole shebang calling modelstate.clear() @ beginning of controller method. have no idea why works, know adding 1 line has fixed issue.


Comments

Popular posts from this blog

php - Submit Form Data without Reloading page -

linux - Rails running on virtual machine in Windows -

php - $params->set Array between square bracket -