ASP.net 4、MVC和脚本管理器语法使用ASP:ajax控制工具箱元素



上下文:我是MVC asp.net Framework 4的新手。在我的应用程序中,我希望在用户单击事件(使用ActionResult)时更新部分视图。在index.aspx中,我使用标准的Ajax.BeginForm,其中包含一个div,我在其中呈现部分视图(它调用ActionResult):

 *<%using (Ajax.BeginForm("Search", "Home", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "divToUpdate" })) 
      {  %>
    Name 
    <input id="txtName1" name="RoleName" type="text" value="" />
    <br />
    <br />
    <div id="divToUpdate">
    <%--render what you want to update here.. --%>
    <%Html.RenderPartial("~/Views/Shared/SecurityMainPartialView.ascx", Model); %>
    </div>
    <br />
    <input type="submit" id="btnSubmit" value="Search" />
    <% }%>*

局部视图的更新工作正常。但是:

问题:

在Site.Master中,我有一个表单标记,我必须删除它,因为部分视图会将操作链接重定向到索引,而不是搜索。在删除这一点时,我不能再使用asp:scriptmanager标记,这是使用asp.tab等所需的。

我得到以下错误:*类型为"ScriptManager"的控件"ctl00_MainContent_ScriptManager1"必须放置在runat=server的表单标记内。*错误甚至出现在网站主控中的ActionLinks上。

站点主代码:

*<body>
 <%--   <form id="form1" runat="server">
 --%>   <div id="container">
        <div id="header">    
            <h1 style="width: 1207px; margin-left: 0px">PROM (Promise Remote Order Management)</h1>
        <div id="menubar">
            **<li><%= Html.ActionLink("Home", "Index", "Home")%></li>
            <li><%= Html.ActionLink("Security", "SecurityMain", "Security")%></li>
            <li style="width: 1208px; height: 0px"><%= Html.ActionLink("About", "About", "Home")%></li>**
           </div>  
        </div> 
        <div id="content" style="height: 100%; width: 100%;">
            <asp:ContentPlaceHolder ID="MainContent" runat="server" >
                <p style="height: 132px; margin-top: 0px">
                </p>

          </asp:ContentPlaceHolder>
        </div>
        <div id="footer">
            <p>© footer stuff goes here!</p>
        </div>   
       </div>
<%--    </form>--%>
</body>
</html>*

问题:

如何在我的Asp.net MVC 4应用程序中使用脚本(ScriptManager)?我使用MVC ScriptManager还是其他什么?我知道我们不应该在MVC中使用脚本管理器,因为它违反了规则。。。我的选择是什么。

谢谢你,如有任何帮助,我们将不胜感激。

您不应该在asp.net mvc应用程序中使用web控件。你可以做,但我不推荐。您可以使用一些javascript库,如jQuery、Ext.Js等…在视图中执行异步操作。

我喜欢jQuery,它易于学习、快速开发和跨浏览器(适用于firefox、chrome等),我一直在我的网络应用程序中使用它,使用asp.net mvc,效果非常好。请查看此链接:http://api.jquery.com/jQuery.ajax/它将向您展示一些使用ajax的操作(get/post调用、json结果等)usign jquery lib。

jQuery是visualstudio的asp.net mvc的默认模板,使用它:)

干杯!

最新更新