我想在UpdatePanel1中添加下面的属性
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LinkButton1" EventName="Click" />
</Triggers>
可是我的"LinkButton1"是在UpdatePanel2中的一个DetailsView的模板列里的,如果直接按上面那样写的话会提示找不到"LinkButton1"
我想是不是可以通过编程的方式,先找到"LinkButton1",再通过后代码的方式实现
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LinkButton1" EventName="Click" />
</Triggers>
怎么实现?
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LinkButton1" EventName="Click" />
</Triggers>
可是我的"LinkButton1"是在UpdatePanel2中的一个DetailsView的模板列里的,如果直接按上面那样写的话会提示找不到"LinkButton1"
我想是不是可以通过编程的方式,先找到"LinkButton1",再通过后代码的方式实现
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LinkButton1" EventName="Click" />
</Triggers>
怎么实现?
解决方案 »
- ASP.NET页面中使用了AjaxToolKit就无法执行按钮事件,怪哉!
- 窗体提交多个网页该如何做
- 难道ASP.net真的不适合做SNS或者WEB2.0网站吗?
- 【求助】如何在WEB中开发一个类似工作流的东东啊?在线讨论
- GridView中的第一列绑定checkBox,点击某一按钮,怎样让这一列的所有checkBox都被选中,同时,该页面不能被刷新?
- 文本标引思路,求各位指导,尽管给思路
- 请大家帮忙 一个线程关闭的问题!
- 高分求救!这样的水晶报表如何做?
- 急急,简单问题,在DataGrid中加入TextBox模板,当TextBox内容更改时有相应的事件,但不能获取DataGird数据行,有简单过程;在线等!!!
- 用if的bool判断mssql的存储过程返回有问题
- textarea中放图片等的问题
- 散分,请大家推荐一个多核心调试用的浏览器
我想是不是可以通过编程的方式,先找到"LinkButton1",再通过后代码的方式实现
-----------------------
找到了,也不触发onclick事件,触发的是detailsview的command事件
谢谢!
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DetailsView1" />
</Triggers>
这样就可以了。我没有写事件名,如果要写个事件名,事件名是什么?我做插入操作的。
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DetailsView1" />
</Triggers>
这样就可以了。我没有写事件名,如果要写个事件名,事件名是什么?我做插入操作的。
不好意思 我引用错了。
就不用加triggers了吧
<asp:AsyncPostBackTrigger ControlID="LinkButton1" EventName="Click" />
</Triggers> 处理的,放在GridView1_RowDataSound(object sender, GridViewRowEventArgs e)
{
//在写里.就可以找得到了.}
昨晚,我只给点提示,谁知lz还想不明,今早,我帖出来,仅供你参考 protected void gvAppointment_OnItemDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.FindControl("LinkButton1") != null)
{
LinkButton lnkB = (LinkButton)e.Row.FindControl("LinkButton1");
ScriptManager1.RegisterAsyncPostBackControl(lnkB);
}
}
}
EventName就是要写 detailsview1中某个事件的名称
一般用不到EventName另:ControlId为LinkButton1 不行吗? updatepanel中updatemode=contional设置了?
UpdatePanel1和UpdatePanel2 的 UpdateMode 都设置为contional
GridView1放在UpdatePanel1 里,DetailsView1放在UpdatePanel2里
我想通过DetailsView1的插入按钮(我把它转换为模板列了)来触发
UpdatePanel1的更新。如果我把UpDatePanel1 设为
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DetailsView1" />
</Triggers>
这样当我点击DetailsView的取消按钮时它也触发了UpDatePanel1的更新。
我只想让插入按钮触发更新。
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DetailsView1" />
</Triggers>
可以,刚又突然发现不可以了。怪!
---------------------------------------------------------------------------------------To 7楼:
昨晚,我只给点提示,谁知lz还想不明,今早,我帖出来,仅供你参考 C# code
protected void gvAppointment_OnItemDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.FindControl("LinkButton1") != null)
{
LinkButton lnkB = (LinkButton)e.Row.FindControl("LinkButton1");
ScriptManager1.RegisterAsyncPostBackControl(lnkB);
}
}
}----------------------------------------------------------------
按你的方法我这样写
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
LinkButton lbtn = (LinkButton)this.DetailsView1.FindControl("LinkButton1");
ScriptManager1.RegisterPostBackControl(lbtn); }
这样还是更新不了。
是不是要加个this.UpdatePanel1.Update();
加在哪里?
这个不用加也好像可以的
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
LinkButton lbtn = (LinkButton)this.DetailsView1.FindControl("LinkButton1");
ScriptManager1.RegisterAsyncPostBackControl(lbtn); }
protected void LinkButton1_Click(object sender, EventArgs e)
{
this.UpdatePanel1.Update();
}
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<asp:UpdatePanel ID="UpdatePanel2" runat="server" >
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lbTest" runat="server" OnClick="lbTest_Click" >LinkButton</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>.cs file: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.FindControl("lbTest") != null)
{
LinkButton lnkB = (LinkButton)e.Row.FindControl("lbTest");
lnkB.Attributes.Add("ID", e.Row.Cells[1].Text);
ScriptManager1.RegisterAsyncPostBackControl(lnkB);
}
}
}
protected void lbTest_Click(object sender, EventArgs e)
{
//TextBox1.Text = DateTime.Now.ToLongTimeString();
LinkButton lnkB = (LinkButton)sender;
TextBox1.Text = lnkB.Attributes["ID"];
UpdatePanel1.Update();
}