我没有使用AJAX(AJAX Control Toolkit)以外的Webforms。所以请原谅我的无知。但是现在我正在使用MVC 3和JQuery,我想知道处理这个问题的方法是什么。基本上,我的页面将获得List<ViewModel>
。但是当我回发时,我是回发整个List<ViewModel>
还是只需要更新的一个元素?处理这个问题的正常方法是什么?现在,假设我的ViewModel是:
public class activePlayer
{
public int UserID {get; set;};
public string LastName {get; set;};
public string FirstName {get; set;};
public string Class {get; set;};
public int XP {get; set;};
public string activeWeapon {get; set;};
}
答案 0 :(得分:1)
请注意,术语“回发”与ASP.net Web表单更相关。使用MVC框架时,您将在所需的路径上创建“http post”。
关于您的问题,您可能很可能会将您需要编辑的用户的ID发布到编辑结果中:
Public ViewResult Edit(int id)
{
activePlayer model = // lookup model here
return View("Edit", model)
}
反过来会呈现编辑视图:
@model <yourproject.Models.activePlayer>
@using(@Html.BeginForm())
{
@Html.HiddenFor(m => m.UserID)
<div>
<div clas="editor-label>@Html.LabelFor(m => m.LastName)</div>
<div clas="editor-field>@Html.EditorFor(m => m.LastName)</div>
</div>
<div>
<div clas="editor-label>@Html.LabelFor(m => m.FirstName)</div>
<div clas="editor-field>@Html.EditorFor(m => m.FirstName)</div>
</div>
// .. remaining fields
<input type="submit" />
}