If the TextBox
是在另一个UpdatePanel
。使其更新模式Conditional
这允许你调用它的Update
以编程方式进行方法。
protected void ddlLenderState_SelectedIndexChanged(object sender, GridViewSelectEventArgs e)
{
TxtInfo.Text = "Hello, i'm coming from the GridView.";
UpdInfo.Update();
}
另一种方法是添加一个AsyncPostBackTrigger
到外面UpdatePanel
with ControlID=grvLenderDetails
and EventName=SelectedIndexChanged
.
如果它不在一个UpdatePanel
,那么你需要改变它。以下是示例:
<asp:UpdatePanel runat="server" ID="UpdInfo" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="TxtInfo" runat="server />
</ContentTemplate>
</asp:UpdatePanel>
这是不需要你调用的触发方法Update()
手动从代码隐藏中:
<asp:UpdatePanel runat="server" ID="UpdInfo" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="TxtInfo" runat="server />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="grvLenderDetails" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
否则你需要使用某种 JS 技巧,例如:
ScriptManager.RegisterStartupScript(this, GetType(), "ChangeTextBoxText", "<script type='text/javascript'>$('#"+txt.ClientId+"').val('Hello, i'm from the GridView');</script>", false);