2011-01-13 6 views
1

これは私の設定です。人を追加するために、人のドロップダウンリストと横にリンクボタンがあります。リンクボタンは更新パネルを表示します。保存をクリックすると、データを保存し、ドロップダウンリストで新しい人物を選択します。私が知る限り、私はこれを適切に行った。データを保存した後、ドロップダウンリストを更新して新しい人の値を取り出し、選択した値として設定します。ステップ実行すると、新しい人物と選択された新しい人物とのddlが表示されます。しかし、ページが戻ったとき、ddlは変更されません。すなわち、リフレッシュされません。私はそれがアップデートパネルで何かであるかもしれないと思ったが、別のページでも同様の設定ができる!また、ネストされた更新パネル(次のコードには表示されていません)でも機能します。なぜこの "欺瞞"が起こっているのか考えてみませんか?ASP.NET DropDownListはDataBindにもかかわらず更新されません(ステップスルーで新しいデータを表示します)

ここに私のコードがあります。申し訳ありません、それはとても長いです。ご協力いただきありがとうございます!!

public void AddRequestor_Click(object sender, ImageClickEventArgs e) 
    { 
     pnlNewRequestor.Style.Add("display", "none"); //regular panel 
     ibSubmitTask.Enabled = true; 
     ibSubmitTaskCancel.Enabled = true; 
     if (!((ImageButton)sender).ID.Contains("Cancel")) 
     { 
      SaveRequestor(); 
      Functions.BindList(ddlRequestors, "Requestor", "spGetRequestors", true); 
      string newRequestor = txtRequestorLastName.Text + ", " + txtRequestorFirstName.Text; 
      ddlRequestors.ClearSelection(); 
      ddlRequestors.Items.FindByText(newRequestor).Selected = true; 
     } 

//ASPX Code 
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="ddlRequestors" InitialValue="" 
ErrorMessage="*Required" CssClass="ErrorText" ValidationGroup="valNewTask" Display="Dynamic" runat="server" /> 
    <asp:LinkButton ID="LinkButton1" Text="Add New Requestor" CssClass="SmallerText" OnClientClick="NoPopup();" OnClick="NewRequestor_Click" runat="server"></asp:LinkButton>   
</td> 
</tr> 
<!-- Add New Requestor Update Panel --> 
<tr id="tr1" class="HideXXX" runat="server"> 
<td></td> 
<td colspan="2" class="LeftPadding"> 
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server"> 
<ContentTemplate> 
<asp:Panel ID="Panel1" CssClass="AddNewPanel Hide" runat="server"> 
    <table width="100%"> 
     <tr> 
      <td class="SectionTitle" colspan="3"><asp:Label ID="Label1" Text="Add New Requestor" runat="server"></asp:Label> 
       <hr class="hrSectionTitle" /> 
      </td> 
     </tr> 
     <tr id="tr2" class="Hide" runat="server"> 
      <td></td> 
      <td class="LeftPadding"><asp:Label ID="Label2" CssClass="ErrorTextLarge" runat="server"></asp:Label></td> 
     </tr> 
     <tr> 
      <td><asp:Label ID="Label3" Text="First Name:" runat="server"></asp:Label> </td> 
      <td><asp:TextBox ID="TextBox1" CssClass="TextBox DefaultFont" OnFocus="this.className='TextBoxFocus DefaultFont'" onBlur="this.className='TextBox DefaultFont'" runat="server"></asp:TextBox> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="txtRequestorFirstName" 
        ErrorMessage="*Required" CssClass="ErrorText" ValidationGroup="valNewRequestor" Display="Dynamic" runat="server" /> 
      </td> 
     </tr> 
     <tr> 
      <td><asp:Label ID="Label4" Text="Last Name:" runat="server"></asp:Label> </td> 
      <td><asp:TextBox ID="TextBox2" CssClass="TextBox DefaultFont" OnFocus="this.className='TextBoxFocus DefaultFont'" onBlur="this.className='TextBox DefaultFont'" runat="server"></asp:TextBox> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator3" ControlToValidate="txtRequestorLastName" 
        ErrorMessage="*Required" CssClass="ErrorText" ValidationGroup="valNewRequestor" Display="Dynamic" runat="server" /> 
      </td> 
     </tr>                
     <tr> 
      <td></td> 
      <td colspan="2">  
       <asp:ImageButton ID="ImageButton1" ImageUrl="~/Images/Button-AddRequestor.jpg" CausesValidation="true" ValidationGroup="valNewRequestor" OnClientClick="NoPopup();" OnClick="AddRequestor_Click" runat="server" /> 
       <asp:ImageButton ID="ImageButton2" ImageUrl="~/Images/Button-Cancel-Darker.jpg" CausesValidation="false" OnClientClick="NoPopup();" OnClick="AddRequestor_Click" runat="server" /> 
      </td> 

     </tr> 

    </table> 
</asp:Panel> 
</ContentTemplate> 
<Triggers> 
<asp:AsyncPostBackTrigger ControlID="lbNewRequestor" EventName="Click" /> 
<asp:AsyncPostBackTrigger ControlID="ibAddRequestor" EventName="Click" /> 
<asp:AsyncPostBackTrigger ControlID="ibAddRequestorCancel" EventName="Click" /> 
</Triggers> 
</asp:UpdatePanel> 
</td> 
</tr> 
+0

DropDownListがUpdatePanelの中​​にあるように思われません。そうでなければ、コンテンツを更新できません。 –

答えて

0

私は同様の発行をしました。新しいリビジョンを手動でリビルドするのではなく、ドロップダウンリストに手動で追加することで修正しました...

関連する問題