原以为net
mvc的ajax可以实现和updatepanel一样的效果,那样就好了。不过现在体验了一下,和jquery实现的方式差不多。mvc里面可以直接使用用户控件做模板,这样也不错,只是在页面上先加载一次用户控件。当你修改内容时,再把模板替换掉。感觉这样基本上实现了updatepanel的方式,只是多调了一次,不过感觉还不错。
cc.aspx 测试文件
Code
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
cc
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script src="http://www.cnblogs.com/Scripts/MicrosoftAjax.debug.js" type="text/javascript"></script>
<script src="http://www.cnblogs.com/Scripts/MicrosoftMvcAjax.debug.js" type="text/javascript"></script>
<script src="http://www.cnblogs.com/Scripts/jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript">
function su() {
$("#dd").html("sss");
}
</script>
<div id="h2"><% Html.RenderPartial("dd"); %></div>
<h2 id="dd">wjk</h2>
<%using (Ajax.BeginForm("dd", new AjaxOptions { UpdateTargetId = "h2" , HttpMethod="post", InsertionMode= InsertionMode.Replace }))
{ %>
<input type="submit" value="提交" />
<%} %>
</asp:Content>
dd.ascx
Code
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
王继坤<%=DateTime.Now %>
Controllers:
Code
public ActionResult cc()
{
return View();
}
public ActionResult dd()
{
return View();
}
主要必须调用MicrosoftAjax.debug.js,MicrosoftMvcAjax.debug.js。