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」のように見えますが、Webページがレンダリングしたテキストボックスの実際の値は空白のままです。
これが私の問題です。何があっても、値は空白のままです。(DropDownListのSelectedIndexを変更して)イベントを複数回発生させると、発生するすべてのイベントについて、の各フィールドに「、」が入力されるだけです。
私は近視眼的であり、これはごくわずかなことだと思いますが、私は途方に暮れており、あなたの助けを大いに感謝します。