我有TextBox
:
<asp:TextBox id="locSelectedCameraGroupName" runat="server" ></asp:TextBox>
我有这个后端代码:
protected void btnCameraGroup_ServerClick(object sender, EventArgs e)
{
locSelectedCameraGroupName.Text = "test string!";
}
点击按钮后调用此方法:
<asp:linkbutton id="btnCameraGroup" runat="server" onclick="btnCameraGroup_ServerClick" onclientclick="ShowCameraGroupPopup()"
style="font-size: 1.2em; text-decoration: none; cursor: pointer; background-color:grey; ">
<!-- TODO: Make button have round corners...css? -->
</asp:linkbutton>
但是,文本不会更新。这是一个用户控件。到达该行(根据我的调试器)。当我将该行移动到我的页面加载时,它可以工作。我在做什么问题?
以下方法ShowCameraGroupPopup
只显示/隐藏了一些我不认为与此问题有多大关系的标记,但不管怎样它仍然存在:
function ShowCameraGroupPopup() {
$('#<%=waitIcon.ClientID%>').show();
$('#<%=divMainContent.ClientID%>').hide();
$("#divCameraGroupPopup").modal("show");
return true;
}
这是点击链接按钮后的流程:
答案 0 :(得分:1)
我需要一个带有触发器(AsyncPostBackTrigger)的TextBox周围的UpdatePanel(和ContentTemplate),如下所示:
<asp:UpdatePanel id="groupNamePanel" runat="server" updatemode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnCameraGroup" />
</Triggers>
<ContentTemplate>
<asp:TextBox id="locSelectedCameraGroupName" runat="server" ></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
答案 1 :(得分:0)
如果您的代码中有Page_Load()事件,请更改Page_Load()内容,如下所示:
private void Page_Load()
{
if (!Page.IsPostBack)
{
//copy previous page load codes here
}
}