【问题标题】:why AjaxForm is not working for me?为什么 AjaxForm 不适合我?
【发布时间】:2012-05-31 07:28:21
【问题描述】:

我有以下表格,我想做的是,当人们点击搜索按钮时, 一个请求将提交给服务器,服务器将返回一组新结果,我将重新渲染 div 以呈现新结果

@using (Ajax.BeginForm("Search", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "DivToUpdate" }))
        {
            <div style="margin: 10px 50px 5px 50px;">
                @Html.TextBox("instrument", (string)ViewBag.DefaultInstrumentStr)
                &nbsp;&nbsp;&nbsp;
                <input type="submit" value="Search" />
            </div>
        }
        <div id="DivToUpdate" style="width: 100%; display: none;">
            @if (Model != null)
            {
                @Html.Partial("_InstrumentList", @Model);
            }
            else
            {
                <span>Loading ....</span>
            }
        </div>

这是我的控制器实现:

public ActionResult Search(string instrument)
        {
            // ... base on the input perform certain action to generate a list of result

            return PartialView("_InstrumentList", instruments);
        }

当我运行它时,点击搜索后,我只会在浏览器中看到部分视图,数据不会更新div。

有人知道我做错了什么吗? 谢谢。

【问题讨论】:

    标签: c# ajax asp.net-mvc-3


    【解决方案1】:

    有人知道我做错了什么吗?

    您忘记将jquery.unobtrusive-ajax.js 脚本引用到您的页面:

    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
    

    【讨论】:

    • 在 Visual Studio 中启动调试时.. 我收到此错误 Microsoft JScript 运行时错误:无法设置属性“不引人注目”的值:对象为空或未定义,然后单击继续...。同样的事情
    【解决方案2】:

    你必须引用一些脚本:

    在 MVC3 中(设置 UnobtrusiveJavaScriptEnabled 为真):

    jquery.unobtrusive-ajax.js
    

    在 MVC2 和 MVC3 中(设置 UnobtrusiveJavaScriptEnabled false):

    MicrosoftMvcAjax.js
    

    不同之处可以看这个:Unobtrusive Client Validation in ASP.NET MVC 3

    【讨论】:

    • hmmm in debug.. 请求已提交到服务器.. 但 div 没有重新绘制...我错过了什么吗?
    • 忘了说......谢谢你的建议......我添加了 jquery.unobtrusive-ajax.js .. ajax 请求似乎工作......只是我的页面没有更新
    • 我的错..我自己将显示设置为无
    【解决方案3】:

    您尝试更新的div 必须在Ajax.BeginForm 括号内。

    【讨论】:

    • 描述你实际得到了什么?您是否查看了 firebug 或 fiddler 的请求/响应?可以在调试模式下进入方法吗?
    猜你喜欢
    • 2014-01-03
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多