2017-02-10 20 views
0

我目前遇到的问题是,在更改视图后,我的按钮和其他控件未出现在页面上。该方案是建立这样的:更改视图后不会显示按钮

  1. 用户输入在文本框(tbxNumber)的数
  2. 用户点击该按钮(btnNumber),并且按钮填充下拉列表(ddlViews)用“意见”。观看次数取决于输入的数字。
  3. 用户从下拉列表中选择一个视图,然后单击另一个按钮。该按钮切换到与多视图(mtvNumber)中的视图相对应的视图。

我把程序切换到正确的视图,但是当它切换按钮,文本框和下拉列表全部消失。这是改变asp.net中视图背景的正确方法吗?

<asp:MultiView ID="mtvNumber" runat="server" ActiveViewIndex ="-1"> 
    <asp:View ID="View1" runat="server"> 
     <div style='position:absolute;z-index:0;left:0;top:0;width:100%;height:100%'> 
       <img src='Images/Patriots.jpg' style='width:100%;height:100%' alt='[]' /> 
     </div> 
    <p>Hello from view1</p> 

    </asp:View> 

我不确定这是否是将图像设置为背景的正确方法。如果有其他人有另一种方式来引入图片,请让我知道!

ASP.Net代码

<div> 
    <form id="formViews" runat="server"> 
    <asp:TextBox ID="tbxNumber" runat="server"></asp:TextBox> 
    <asp:Button ID="btnNumber" runat="server" Text="Button" OnClick="btnNumber_Click" /> 
    <asp:DropDownList ID="ddlViews" runat="server" OnSelectedIndexChanged="ddlViews_SelectedIndexChanged"></asp:DropDownList> 
     <asp:Button ID="BtnChangeView" runat="server" Text="Change View" OnClick="BtnChangeView_Click" /> 
    <asp:MultiView ID="mtvNumber" runat="server" ActiveViewIndex ="-1"> 
    <asp:View ID="View1" runat="server"> 
     <div style='position:absolute;z-index:0;left:0;top:0;width:100%;height:100%'> 
       <img src='Images/Patriots.jpg' style='width:100%;height:100%' alt='[]' /> 
     </div> 
    <p>Hello from view1</p> 

    </asp:View> 
    <asp:View ID="View2" runat="server"> 
     <div style='position:absolute;z-index:0;left:0;top:0;width:100%;height:100%'> 
       <img src='Images/patriots2.jpg' style='width:100%;height:100%' alt='[]' /> 
     </div> 
    </asp:View> 

C#代码

protected void BtnChangeView_Click(object sender, EventArgs e) 
{ 
    // string used to check input. 
    string viewChecker = ddlViews.SelectedValue.ToString(); 

    // if view1 is selected, switch to view1 
    if (viewChecker == "view1") 
    { 
     mtvNumber.ActiveViewIndex = 0; 
     Response.Write("made it to the first view"); 
     BtnChangeView.Visible = true; 
     btnNumber.Visible = true; 

     // if view2 is selected, switch to view2 
    } 
    else if (viewChecker == "view2") 
    { 
     mtvNumber.ActiveViewIndex = 1; 
     Response.Write("made it to the second view"); 
    } 
    // if view3 is selected, switch to view3 
    else if (viewChecker == "view3") 
    { 
     mtvNumber.ActiveViewIndex = 2; 
     Response.Write("made it to the third view"); 
    } 
+0

我想我错过了一些东西,你可以请张贴一些更多的代码? –

+0

刚发布! – JimmyDean

+0

任何运气得到这个工作? –

回答

0

也许你的造型适用于图像?试试看看视图是否改变了,你的其他控件仍然存在。

<div> 
    <form id="formViews" runat="server"> 
    <asp:TextBox ID="tbxNumber" runat="server"></asp:TextBox> 
    <asp:Button ID="btnNumber" runat="server" Text="Button" OnClick="btnNumber_Click" /> 
    <asp:DropDownList ID="ddlViews" runat="server" OnSelectedIndexChanged="ddlViews_SelectedIndexChanged"></asp:DropDownList> 
     <asp:Button ID="BtnChangeView" runat="server" Text="Change View" OnClick="BtnChangeView_Click" /> 
    <asp:MultiView ID="mtvNumber" runat="server" ActiveViewIndex ="-1"> 
    <asp:View ID="View1" runat="server"> 
     <div> 
     <h2>Patriots View 1</h2> 
       <img src='Images/Patriots.jpg' style='width:100%;height:100%' alt='[]' /> 
     </div> 
    <p>Hello from view1</p> 

    </asp:View> 
    <asp:View ID="View2" runat="server"> 
     <div> 
      <h2>Patriots View 2</h2> 
       <img src='Images/patriots2.jpg' style='width:100%;height:100%' alt='[]' /> 
     </div> 
    </asp:View>