ASP.NET AJAX 服务器端编程学习小结
最近开始了ASP.NET AJAX的全面学习。在服务端编程这块主要有几个服务器控件负责,他们分别为:ScriptManager,Timer,UpdatePanel,UpdateProgress.
先来说说ScriptManager.它有个方法registerAsyncPostBackControl(控件),可以注册页面上的任何控件为异步传送按钮。还有个方法叫AsyncPostBackError的来着,在这个方法里面可以定义属于自己的错误显示方式。
UpdatePanel,这个控件的用法有很多种,并且有几个属性是非常重要的。它们分别是:UpdateMode,ChildrenAsTrigger,Triggers.通过这几个属性的组合能产生很多的异步页面更新的效果.UpdateMode的值可以为:always,conditional;ChildrenAsTrigger的属性值可以为:True,False.Triggers的属性值为一个包含两种类型的Trigger集合(AysncPostBackTrigger,PostBackTrigger).
现在假设有个UpdatePanel控件,我来分别设置这些属性值的组合。
UpdateMode(always)+ChildrenAsTrigger(true):不论引发异步传送的控件是否放在UpdatePanel里面,该UpdatePanel都会更新.
UpdateMode(always)+ChildrenAsTrigger(FALSE):系统不允许这样设置
UpdateMode(Conditional)+ChildrenAsTrigger(false):放在该Updatepanel里面的控件无法引发异步传送,此时如果想要达到更新该UpdatePanel控件的效果,有两个方法:1.用UpdatePanel的Update()方法2.设置UpdatePanel的Triggers属性。
方法一: 该方法有个局限型,不能是该UpdatePanel控件里面的控件引发的事件,因为里面控件不能进行异步事件。只有通过ScriptManager的registerAsyncPostBackControl(控件)注册一个可以异步回发的控件,然后在他的触发事件里面引用该UpdatePanel的Update()方法达到更新该UpdatePanel的效果。
方法二:设置成Trigger的控件可以在该UpdatePanel里面也可以再它外面,如果设置成功的话,通过触发这个设置成该UpdatePanel的Trigger的控件,就能达到更新的效果。
UpdateMode(Conditio
相关文档:
<asp:TemplateField HeaderText="测试">
<ItemTemplate>
<asp:LinkButton ID="test" runat="server" OnClick="test_Click" OnClientClick='<%# string.Format("return confirmDelete(\"{0} {1}\");", DoEscape((string)Eval( ......
对“添加”、“提交”、“保存”、“更新”等按钮需要对数据库进行写操作的按钮,一定要在页面初始化时加载脚本,防止多次重复点击,例如:
protected void Page_Load(object sender, EventArgs e)
{
//.net 2.0以上
......
方法一:
HtmlProxy.cs:
using System.Text;
using System.IO;
/// <summary>
/// HtmlProxy 的摘要说明
/// </summary>
public class HtmlProxy
{
public HtmlProxy()
{
//
......
1 使用标准HTML来进行图片上传
前台代码:
<body>
<form id="form1" runat="server">
<div>
<table>
&nbs ......