asp.net怎么做局部页面更换,需要拖入什么控件,局部我主要更换一个表,那几个表分别在几个页面中
比如我在主页有a,b,c三个按钮,我点a时“相对应页面的表”就显示在主页的局部中,我只更换表,其他的不用更换!scriptmanger和updatepane每页都得放吗?...
比如我在主页有a,b,c三个按钮,我点a时“相对应页面的表”就显示在主页的局部中,我只更换表,其他的不用更换!
scriptmanger 和 updatepane每页都得放吗?是不是把要局部更换的内容放到updatepane里面? 展开
scriptmanger 和 updatepane每页都得放吗?是不是把要局部更换的内容放到updatepane里面? 展开
3个回答
展开全部
确实,要解决这个问题必须要精通asp.net ajax结构才可以
不过现在为了帮你解决问题给你提供个思路
首先,你要知道整个asp.net ajax框架的功能是控制整个页面上form的postback来做的,如果postback的控件是asyncpostback控件,那么就执行异步提交,否则执行默认的同步提交
如果你需要异步更新updatepanel,就必须注册当前的控件为异步提交
如果你的控件是原来服务器就存在的,那么很容易,在服务器端写个代码,在当前的ScriptManager调用RegisterAsyncPostBackControl,或者添加UpdatePanel的Trigger
如果你的控件是客户端单独创建的,那就要麻烦一些了,可能需要写自定义控件,把这个控件注册为异步,并且把他的ClientId存到返回值客户端的页面上,你需要这个id来标记当前返回的控件,页面端动态生成的button在onclick的时候需要调用类似这样的方法__doPostBack('你的那个控件的ClientId','当前Button需要执行的任务之类的参数'),不过从Page的ClientScript的GetPostBackScript获取这样的脚本比较保险,也许以后asp.net框架会改这个脚本也说不定
这样这个动态生成的button点击的时候就相当于你写的那个自定义控件postback,同时他又是异步提交的话,那么就会驱动updatepanel进行更新
希望能帮助你,有什么疑问可以发hi给我
不过现在为了帮你解决问题给你提供个思路
首先,你要知道整个asp.net ajax框架的功能是控制整个页面上form的postback来做的,如果postback的控件是asyncpostback控件,那么就执行异步提交,否则执行默认的同步提交
如果你需要异步更新updatepanel,就必须注册当前的控件为异步提交
如果你的控件是原来服务器就存在的,那么很容易,在服务器端写个代码,在当前的ScriptManager调用RegisterAsyncPostBackControl,或者添加UpdatePanel的Trigger
如果你的控件是客户端单独创建的,那就要麻烦一些了,可能需要写自定义控件,把这个控件注册为异步,并且把他的ClientId存到返回值客户端的页面上,你需要这个id来标记当前返回的控件,页面端动态生成的button在onclick的时候需要调用类似这样的方法__doPostBack('你的那个控件的ClientId','当前Button需要执行的任务之类的参数'),不过从Page的ClientScript的GetPostBackScript获取这样的脚本比较保险,也许以后asp.net框架会改这个脚本也说不定
这样这个动态生成的button点击的时候就相当于你写的那个自定义控件postback,同时他又是异步提交的话,那么就会驱动updatepanel进行更新
希望能帮助你,有什么疑问可以发hi给我
展开全部
AjAx scriptmanger 和 updatepane 具体这上面说不清,你百度一下就行了,很简单的 你哪个页面用,就在哪个页放,更新的内容放到updatepane里
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
放入要局部更新的
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
放入要局部更新的
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ajax和框架页都可以实现,如果你要用ajax,最好了解一下ajax的原理,这样可以自己编写,比用scriptmanger 和 updatepanel这两个控件灵活多了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询