我使用了一个名为dd1的下拉框来显示诸如选择卡,签证,主卡之类的卡的列表。当我在dd1中将选择卡用作默认视图时,当显示签证或主卡时,我不应显示任何文本框它应该显示文本框和标签,询问姓名和卡号等。我能够在选择签证或主卡时获得标签和文本框,但在选择卡时无法获得默认视图(这是dd1中的第一个选项)
这是代码

<asp:DropDownList ID="dd1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="dd1_SelectedIndexChanged1">
     <asp:ListItem Text="---Select amount" Selected="True" Value="0"></asp:ListItem>
     <asp:ListItem Text="Master card" Value="1"></asp:ListItem>
     <asp:ListItem Text="Maestro" Value="2"></asp:ListItem>
     <asp:ListItem Text="Visa" Value="3"></asp:ListItem>
     <asp:ListItem Text="Visa Debit" Value="4"></asp:ListItem>
     <asp:ListItem Text="Post office Credit card" Value="5"></asp:ListItem>
</asp:DropDownList>
<asp:MultiView ID="multiview" ActiveViewIndex="-1" runat="server">
     <asp:View ID="viewtext" runat="server">
          <p>
             <asp:Label ID="cardname" runat="server" Text="Name on card"></asp:Label>
             <asp:TextBox ID="text1" runat="server" Text=""></asp:TextBox>
          </p>
          <p>
             <asp:Label ID="cardnumber" runat="server" Text="Card number"></asp:Label>
             <asp:TextBox ID="text2" runat="server"></asp:TextBox>
          </p>


后面的代码如下:

public partial class WebForm3 : System.Web.UI.Page
{
   protected void Page_Load(object sender, EventArgs e)
   {
       if (IsPostBack)
       return;
   }
   protected void dd1_SelectedIndexChanged1(object sender, EventArgs e)
   {
       if (dd1.SelectedValue=="1")
       {
          multiview.ActiveViewIndex = 0;
       }

   }
}


请帮助我。。谢谢您。

最佳答案

它在我这边工作。像下面

<asp:DropDownList ID="dd1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="dd1_SelectedIndexChanged1">
            <asp:ListItem Text="---Select amount" Selected="True" Value="0"></asp:ListItem>
            <asp:ListItem Text="Master card" Value="1"></asp:ListItem>
            <asp:ListItem Text="Maestro" Value="2"></asp:ListItem>
            <asp:ListItem Text="Visa" Value="3"></asp:ListItem>
            <asp:ListItem Text="Visa Debit" Value="4"></asp:ListItem>
            <asp:ListItem Text="Post office Credit card" Value="5"></asp:ListItem>
        </asp:DropDownList>
        <asp:MultiView ID="multiview" ActiveViewIndex="0" runat="server">
            <asp:View ID="viewtext" runat="server">
                <p>
                    Default View
                </p>
            </asp:View>
            <asp:View ID="view1" runat="server">
                <p>
                 Master card
                </p>
            </asp:View>
            <asp:View ID="view2" runat="server">
                <p>
                   Maestro
                </p>
            </asp:View>
            <asp:View ID="view3" runat="server">
                <p>
                    Visa
                </p>
            </asp:View>
            <asp:View ID="view4" runat="server">
                <p>
                    Visa Debit
                </p>
            </asp:View>
            <asp:View ID="view5" runat="server">
                <p>
                   Post office Credit card
                </p>
            </asp:View>
        </asp:MultiView>




 protected void dd1_SelectedIndexChanged1(object sender, EventArgs e)
        {
            if (dd1.SelectedItem != null)
            {
                multiview.ActiveViewIndex = Convert.ToInt16(dd1.SelectedValue);
            }
        }

关于c# - 我使用了一个下拉框,根据下拉框中的选项加载其他文本框,但无法获取默认 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21153749/

10-12 00:16