C# 从UpdatePanel内网格中的链接发回
我在UpdatePanel中有一个网格和几个文本框。在选择一个特殊的行时,使用JS填充文本框。UpdatePanel是在使用代码中的方法填充一个文本框时引入的。 网格行中还有一个链接,打开一个弹出窗口(也由代码隐藏填充) 使用UpdatePanel后,链接不起作用(假设没有完整的回发) 我尝试使用UpdateMode=“Conditional”属性并为回发控件注册链接控件。 但它仍然不起作用: 代码C# 从UpdatePanel内网格中的链接发回,c#,javascript,asp.net,updatepanel,postback,C#,Javascript,Asp.net,Updatepanel,Postback,我在UpdatePanel中有一个网格和几个文本框。在选择一个特殊的行时,使用JS填充文本框。UpdatePanel是在使用代码中的方法填充一个文本框时引入的。 网格行中还有一个链接,打开一个弹出窗口(也由代码隐藏填充) 使用UpdatePanel后,链接不起作用(假设没有完整的回发) 我尝试使用UpdateMode=“Conditional”属性并为回发控件注册链接控件。 但它仍然不起作用: 代码 为您的事件设置触发器。把这个放在ContentTemplate的末尾 <Triggers&
为您的事件设置触发器。把这个放在ContentTemplate的末尾
<Triggers>
<asp:AsyncPostBackTrigger ControlID="lbPreview" EventName="Click" />
</Triggers>
将旧事件替换为此
protected void gvSession_DataBound(object sender, GridViewRowEventArgs e)
{
LinkButton Preview = e.Row.FindControl("lbPreview") as LinkButton;
ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(Preview);
}
并将GridView中的gvSession_DataBound event指定为DataBound event我收到此错误-在UpdatePanel“Update”中找不到触发器ID为“lbPreview”的控件确定收到了您的控件在网格内这就是为什么此操作不起作用的原因。行未被解析,因此..我这样放置。。foreach(gvSession.Rows中的GridViewRow grdrow){LinkButton Preview=(LinkButton)grdrow.FindControl(“lbPreview”);ScriptManager.GetCurrent(this.RegisterAsyncPostBackControl(Preview);}但这也不起作用。即使在调试Methodos时调用了所有东西。我只是不明白原因:(:(
protected void gvSession_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow grdrow in gvSession.Rows)
{
LinkButton Preview = (LinkButton)grdrow.FindControl("lbPreview");
ScriptManager current = ScriptManager.GetCurrent(Page);
if (current != null)
current.RegisterPostBackControl(Preview);
}
}
enter code here
<Triggers>
<asp:AsyncPostBackTrigger ControlID="lbPreview" EventName="Click" />
</Triggers>
protected void gvSession_DataBound(object sender, GridViewRowEventArgs e)
{
LinkButton Preview = e.Row.FindControl("lbPreview") as LinkButton;
ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(Preview);
}