我有以下观点:
@model ViewModels.Shared.BaseViewModel
<div class="rep_tb0">
<div class="rep_tr0">
<div class="rep_td0">@Html.LabelFor(model => Model.Link.Position)</div>
<div class="rep_td0">@Html.LabelFor(model => Model.Link.Title)</div>
</div>
@for (var i = 0; i < Model.AdminDetails.Count; i++)
{
var qs = "&ac=" + Model.Meta.AccountID +
"&me=" + Model.AdminDetails[i].RowKey;
<div class="rep_tr0">
<div class="rep_td0">
@Html.TextBox(("Position_" + @i), Model.AdminDetails[i].Position, new { size = 2 })
</div>
<div class="rep_td0">@Model.AdminDetails[i].Title</div>
</div>
}
</div>
由此 Controller 操作填充:
public ActionResult Detail(string ac, string me)
{
vm.AdminDetails = _link.Detail(ac + me).ToList();
return View(vm);
}
我想使用 Ajax、jQuery 和 HTML.Renderpartial,因为有时我需要请求刷新数据,例如当我更改位置值时。
我对这样做的想法完全陌生。我找到了对我有帮助的链接,但主要是关于早期版本的 MVC 的 Ajax,而不是关于 MVC3 的。有人可以给我一些指点吗?我不是在寻找代码。只是几行示例,说明如何在操作方法中进行编码、如何调用 Ajax 等。
最佳答案
您需要一个子操作,而不是部分 View 。
然后你可以写
<div id="#thingy">@Html.Action("Detail", new { ac, me })</div>
$('#thingy').load("@Server.JavaScriptStringEncode(Url.Action("Detail", new { ac, me }))");
关于jquery - 如何在 MVC3 中使用 Ajax 编写 HTML.RenderPartial 刷新代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8782879/