我在 C#/ASP.NET 应用程序中使用 UpdatePanels 时遇到了一些问题。我将首先发布我的代码,然后解释我的问题。
<asp:DropDownList ID="ddlSavedAddresses" runat="server" AutoPostBack="true">
<asp:ListItem Selected="True" Value="">Choose from your saved addresses: </asp:ListItem>
</asp:DropDownList>
<asp:UpdatePanel ID="upnlAddress" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlSavedAddresses" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<div>
<div class="minWidth490 topMargin10">
<fieldset>
<div>
<label for="buildingName">Building Name</label>
</div>
<div>
<asp:Textbox runat="server" id="txtBuildingName" CssClass="short" ToolTip="Enter your house name here" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
以上是我的 .ascx 文件文件。
this.ddlSavedAddresses.SelectedIndexChanged += new EventHandler(ddlSavedAddresses_SelectedIndexChanged);
void ddlSavedAddresses_SelectedIndexChanged(object sender, EventArgs e)
{
// in my code, I have a breakpoint in this method, which is being hit
this.txtBuildingName.Text = "FOO";
}
我的实际代码有比这更多的字段(我相信你收集到了),但它只是更相同。
如上所述,事件正在触发,并且我在 ddlSavedAddresses_SelectedIndexChanged 中设置的任何断点都被命中。
我还在 this.txtBuidlingName 的 .Text 值上放了一个快速观察,它看起来像预期的那样是“FOO”,但是,网页呈现的文本框的实际值仍然是空白的。
这是我的问题。无论如何,该值保持空白。如果我多次触发该事件(通过更改 DropDownList 的 SelectedIndex),它只会为我触发的每个事件填充一个“,”中的每个字段。
我相信我是短视的,这是微不足道的,但是,我很茫然,非常感谢您的帮助。