1

一度に 1 つだけを表示するように、2 つの ASP パネル コントロール (テキスト ボックスとボタンを含む) を更新パネルに保持しました。ボタンをクリックすると、次のaspパネルが表示され、古いaspパネルが非表示になります。私はそれを理解することができません..これがコードです...

<asp:UpdatePanel ID="updatepnlSSN" ChildrenAsTriggers="false" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
     <asp:Panel ID="pnlSSNLookup" runat="server" BackColor="#EEE6DF" BorderColor="#274F73"
                            BorderStyle="Outset">
        <table>
           <tr>
            <td colspan="3">
   <asp:Label ID="lblMsg" runat="server" ForeColor="#713C2C"></asp:Label>
            </td>
           </tr>
           <tr>
            <td>
   <asp:Label ID="lblStudentID" runat="server" Text="State Student ID:" ForeColor="#274F73" ToolTip="State Student ID Label"></asp:Label>
            </td
            <td>
 &nbsp;&nbsp;&nbsp;
   <asp:TextBox ID="txtStudentID" runat="server" ToolTip="Enter the student's state ID number" AccessKey="i" TabIndex="1"></asp:TextBox>
            </td>
            <td>
   <asp:RegularExpressionValidator ID="valStudentID" runat="server" ControlToValidate="txtStudentID" ErrorMessage="Please enter numeric only" ValidationExpression="[0-9]+" ForeColor="#713C2C" Display="Dynamic">
</asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="valStdntID" runat="server" ControlToValidate="txtStudentID" Display="Dynamic" ErrorMessage="Please enter a State Student ID" ForeColor="#713C2C"></asp:RequiredFieldValidator>
           </td>
         </tr>
         <tr>
           <td>
 <asp:Label ID="lblFName" runat="server" Text="Student Legal First Name:" ForeColor="#274F73" ToolTip="First Name Label"></asp:Label>
           <td>
           <td>
&nbsp;&nbsp;&nbsp;
 <asp:TextBox ID="txtFName" runat="server" AccessKey="f" TabIndex="2" ToolTip="Enter the Student's First Name"></asp:TextBox>
          </td>
                                    <td>
   <asp:RequiredFieldValidator ID="valFirstName" runat="server" ControlToValidate="txtFName" Display="Dynamic" ErrorMessage="Please enter the student's first name." ForeColor="#713C2C"></asp:RequiredFieldValidator>
          </td>
        </tr>
        <tr>
          <td>
   <asp:Label ID="lblDOB" runat="server" ForeColor="#274F73" Text="Student Date of Birth </br> (mm/dd/yyyy)" ToolTip="STudent's date of birth label"></asp:Label>
          </td>
          <td>
 <div style="position: relative;">
 &nbsp;&nbsp;&nbsp;
  <asp:TextBox ID="txtDOB" runat="server" AccessKey="d" TabIndex="3" ToolTip="Enter the student's date of birth"></asp:TextBox>
  <cc1:CalendarExtender ID="txtDOB_CalendarExtender" runat="server" Enabled="True" TargetControlID="txtDOB" PopupPosition="Right" Format="MM/dd/yyyy">
    </cc1:CalendarExtender>
     </div>
                                    </td>
                                    <td>
 <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtDOB" ErrorMessage="Please enter a valid date:  mm/dd/yyyy" ForeColor="#713C2C" MaximumValue="01/01/2075" MinimumValue="01/01/1970" Type="Date" Display="Dynamic"></asp:RangeValidator>
  <asp:RequiredFieldValidator ID="valStudentDOB" runat="server" ControlToValidate="txtDOB" Display="Dynamic" ErrorMessage="Please enter the student's date of birth" ForeColor="#713C2C"></asp:RequiredFieldValidator>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        &nbsp;
                                    </td>
                                </tr>
                                <tr>
                                    <td>
 <asp:Button ID="btnSearchSSN" runat="server" Text="Search" AccessKey="s" TabIndex="4" ToolTip="Begin student search" />
                                    </td>
                                </tr>
                            </table>
                        </asp:Panel>
                        </td> </tr>
                        <tr>
                            <td>
                                &nbsp;
                            </td>
                        </tr>
                        <tr>
                            <td style="padding: 0 10px 0 10px">
 <asp:Panel ID="pnlSSNEntry" runat="server" BackColor="#EEE6DF" BorderColor="#274F73" BorderStyle="Outset" Visible="False" Height="110px">
   <table align="left">
                                        <tr>
           <td colspan="3">
   <asp:Label ID="lblSSnText" runat="server" ForeColor="#274F73" Text="Please enter the SSN for:  "></asp:Label>
   <asp:Label ID="lblSSNName" runat="server" ForeColor="#274F73"></asp:Label>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td colspan="3">
   <asp:Label ID="lblSSNSubmitMsg" runat="server" ForeColor="#713C2C"></asp:Label>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td>
   <asp:Label ID="lblSSN0" runat="server" ForeColor="#274F73" Text="Social Security Number:   "></asp:Label>
                                            </td>
                                            <td>
  &nbsp;&nbsp;&nbsp;
   <asp:TextBox ID="txtArea" runat="server" AccessKey="a" MaxLength="3" TabIndex="5" ToolTip="Enter the student's SSN area number" Width="29px"></asp:TextBox>
 &nbsp;&nbsp;
     <asp:TextBox ID="txtGroup" runat="server" AccessKey="g" MaxLength="2" TabIndex="6" ToolTip="Enter the student's SSN group number" Width="22px"></asp:TextBox>
                                                &nbsp;&nbsp;
    <asp:TextBox ID="txtSerial" runat="server" AccessKey="r" MaxLength="4" TabIndex="7" ToolTip="Enter the student's SSN serial number" Width="35px"></asp:TextBox>
                                            </td>
                                            <td>
   <asp:Label ID="lblSSNError" runat="server" ForeColor="#713C2C" Text="Please enter a valid Social Security Number" Visible="False"></asp:Label>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td>
                                                &nbsp;
                                            </td>
                                        </tr>
                                        <tr>
                                            <td>
     <asp:Button ID="btnSSN" runat="server" Text="Submit SSN" AccessKey="n" TabIndex="8" ToolTip="Submit the student's SSN" />
                                            </td>
                                        </tr>
                                    </table>
                                </asp:Panel>
                    </ContentTemplate>
                    <Triggers>
   <asp:AsyncPostBackTrigger ControlID="btnSearchSSN" EventName="Click" />
   <asp:AsyncPostBackTrigger ControlID="btnSSN" EventName="Click" />
                    </Triggers>
                </asp:UpdatePanel>
4

3 に答える 3

0

上記の回答は、上記の問題を解決するための優れたアプローチを提案しましたが、本当にやりたい場合は、ボタンクリックイベントにコードを追加してみてください

protected void btnSearchSSN_Click(object sender, EventArgs e)
  {
      pnlSSNLookup.Visible = false;
      this.pnlSSNEntry.Visible = true;
  }
  protected void btnSSN_Click(object sender, EventArgs e)
  {
      pnlSSNEntry.Visible = false;
      this.pnlSSNLookup.Visible = true;

  }

うまくいけば、あなたが探している必要な結果が得られるでしょう。

于 2012-06-27T21:19:50.077 に答える
0

UpdatePanel 内で MultiView を使用し、ボタンのクリックに基づいて ActiveView を設定することをお勧めします。ここにチュートリアルがあります

つまり、MultiView はパネルのラッパーです。アクティブ化できる View オブジェクトのコレクションが含まれています。一度に表示できるビューは 1 つだけです。

于 2012-06-27T20:53:20.017 に答える
0

ASP:MultiViewを使用したほうがよいでしょうか。次に、一度に 1 つのビューを表示すると、相互に排他的なバインディングが関連付けられます。

<asp:MultiView>
    <asp:View>
       View 1
    </asp:View>
     <asp:View>
       View 2
    </asp:View>
</asp:MultiView>
于 2012-06-27T20:54:05.063 に答える