我有一个用户控件,其结构是 -
<updatepanel UpdateMode="Always">
<ContentTemplate>
<asp:FormView>
<EditItemTemplate>
<table>
<tr id='tr1'>
<td>
Textbox1
btn1
</td>
</tr>
<tr id='tr2'>
<td>
textbox2
</td>
</tr>
<table>
</EditItemTemplate>
</asp:FormView>
</ContentTemplate>
</updatepanel>
在页面加载时,我使用以下来隐藏tr2
ClientScriptManager cs = Page.ClientScript;
csText.AppendLine("");
csText.AppendLine("if(document.getElementById('tr2')!=null)
document.getElementById('tr2').style.display = 'none';");
csText.AppendLine("");
cs.RegisterStartupScript(this, this.GetType(), csName, csText.ToString(), false);
这部分工作正常。现在点击btn1我弹出模态弹出扩展控件。这会导致tr2再次显示。我知道脚本需要与updatePanel内联。我尝试使用ScriptManager.RegisterStartupScript(....);
但不起作用。此外,updateMode必须始终使pop popndar中的数据可以放在Textbox1
感谢所有帮助。 谢谢
答案 0 :(得分:0)
由于您使用的是UpdatePanel,因此您不需要任何javascript。
如果您将tr2元素更改为...
<tr id="tr2" runat="server">
这将允许您在服务器端代码中控制它。要隐藏tr2行,只需执行...
tr2.Style["display"] = "none";
这应该可以在回调中保持同步。