jquery - 如何在 MVC3 中使用 Ajax 编写 HTML.RenderPartial 刷新代码?

标签 jquery asp.net-mvc-3

我有以下观点:

    @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/

相关文章:

c# - 在 MVC cshtml 中每行显示三列

asp.net-mvc-3 - 如何范围验证整数 ASP.NET MVC 3

jquery - 为什么这些 jQuery 对象不起作用?

javascript - 将类添加到具有选定名称属性的所有元素

c# - FaceBook C# SDK 6.4版本中CanvasAuthorizeAttribute的替代品是什么

c# - Razor View 引擎中的 Html.Partial

c# - IE 想要下载 JSON 结果....MVC3

javascript - Css双窗口滚动

javascript - Bootstrap日期选择器键盘导航: select date when "tabbing out"

javascript - Sprite 图标机制如何工作?