作者ThreeDay0905 (三天)
看板C_Sharp
标题Re: [问题] updatepanel与gridview问题
时间Sun Sep 19 16:25:12 2010
※ 引述《moneylove (money)》之铭言:
: 各位高手
: 我想请问一下
: 就是如果把控制项塞到gridview中(比如:checkbox)
: 要用UpdatePanel里面的trigger
: 不要postback回去 id= checkbox
: 想问一下
: 但在执行的时候
: 会抓不到gridview中的id
: 请问有办法解决吗??
: 谢谢各位
放在TemplateField的Control 在吐给Client端的时候会把ID转换
因在网页中每个控制项的ID必须是独立的
因此若要把GridView中控制项设成Trigger,要单独抓出来做处理
protected void Page_Load(object sender, EventArgs e)
{
foreach (GridViewRow gvRow in GridView1.Rows)
{
if (gvRow.RowIndex == 3) //要动态添加Trigger的列数
{
CheckBox cb = gvRow.FindControl("CheckBox1") as CheckBox;
cb.AutoPostBack = true; //设为AutoPostBack
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = cb.UniqueID; //抓取实体ID (对应html_name)
this.UpdatePanel1.Triggers.Add(trigger);
}
}
if (this.ScriptManager1.IsInAsyncPostBack)
UpdatePanel1.GetType().GetMethod("Initialize", BindingFlags.NonPublic |
BindingFlags.Instance).Invoke(UpdatePanel1, null);
}
不是很清楚楼主说的 [不要postback回去 id= checkbox] 是什麽意思
上面的做法是把GridView中的某个控制项设为 要更新该UpdatePanel1的Trigger
大致上的作法都大同小异
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.249.140.101
※ 编辑: ThreeDay0905 来自: 111.249.140.101 (09/19 16:28)