2014-12-20 3 views
1

У меня есть элемент управления с несколькими видами, который имеет два вида. View1 - это представление по умолчанию, а View2 - новое представление. Когда конечный пользователь нажимает кнопку, я хочу изменить представление на View2. Кажется, я не могу этого добиться.Невозможно получить контроль над несколькими видами для изменения видов

ASP.NET Код:

<asp:MultiView ID="MVOrder" runat="server"> 
    <asp:View ID="VOrderNow" runat="server"> 
     <asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
      <ContentTemplate> 
       <table> 
        <tr> 
         <td> 
         <asp:Label ID="LblInfo" runat="server"></asp:Label> 
         </td> 
         <td> 
         &nbsp;</td> 
         <td>&nbsp;</td> 
        </tr> 
        <tr> 
         <td> 
         <asp:Label ID="LblDrink" runat="server"></asp:Label> 
         </td> 
         <td></td> 
         <td></td> 
        </tr> 
        <tr> 
         <td> 
         <asp:Label ID="LblItemInfo" runat="server"></asp:Label> 
         </td> 
         <td> 
         &nbsp;</td> 
         <td>&nbsp;</td> 
        </tr> 
       </table> 
       <br /> 
       <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> 
      </ContentTemplate> 
     </asp:UpdatePanel> 
    </asp:View> 
    <asp:View runat="server" ID="VOrderComplete"> 

    <table class="auto-style1"> 
     <tr> 
      <td>&nbsp;</td> 
      <td> 
      <asp:Label ID="LblOrderComplete" runat="server"></asp:Label> 
      </td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td> 
      <asp:Label ID="LblOrderNumberAgain" runat="server"></asp:Label> 
      </td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td> 
      <asp:Label ID="LblOrderTimeAgain" runat="server"></asp:Label> 
      </td> 
      <td>&nbsp;</td> 
     </tr> 
    </table> 

    </asp:View> 
<br/> 
</asp:MultiView> 

Кнопка Нажмите Код события:

protected void Button1_Click(object sender, EventArgs e) 
     { 
      //MVOrder.ActiveViewIndex = 1; 
      MVOrder.SetActiveView(VOrderComplete); 
     } 

Page Код нагрузки:

if (!IsPostBack) 
{ 
    MVOrder.SetActiveView(VOrderNow); 
} 

Может кто-то пожалуйста, скажите мне, что я делаю неправильно?

+0

Вы получаете какие-либо ошибки? – ethorn10

+0

@ ethorn10 Нет, ошибок нет. Это похоже на обновление страницы, но представление не меняется. – nate

+0

Я уверен, что у вас есть это структурированное, вы не сможете делать то, что хотите. «UpdatePanel» выполняет асинхронный вызов, и, таким образом, любое обновление пользовательского интерфейса будет само по себе, а не «View» или «MultiView». – ethorn10

ответ

2

Я думаю, у вас может быть какой-то дополнительный код, который может привести к неправильной работе. Но на основании того, что вы показали, это опубликует и обновит ваше мнение:

<asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
    <ContentTemplate> 
     <asp:MultiView ID="MVOrder" runat="server"> 
      <asp:View ID="VOrderNow" runat="server"> 
       <table> 
        <tr> 
         <td><asp:Label ID="LblInfo" runat="server" Text="asdfasdfasdf"></asp:Label></td> 
         <td>&nbsp;</td> 
         <td>&nbsp;</td> 
        </tr> 
        <tr> 
         <td><asp:Label ID="LblDrink" runat="server" Text="lmnoplmnop"></asp:Label></td> 
         <td></td> 
         <td></td> 
        </tr> 
        <tr> 
         <td><asp:Label ID="LblItemInfo" runat="server" Text="iteminfo"></asp:Label></td> 
         <td>&nbsp;</td> 
         <td>&nbsp;</td> 
        </tr> 
       </table> 
       <br /> 
       <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> 
      </asp:View> 
      <asp:View runat="server" ID="VOrderComplete"> 
       <table class="auto-style1"> 
        <tr> 
         <td>&nbsp;</td> 
         <td><asp:Label ID="LblOrderComplete" runat="server" Text="ordercomplete"></asp:Label></td> 
         <td>&nbsp;</td> 
        </tr> 
        <tr> 
         <td>&nbsp;</td> 
         <td><asp:Label ID="LblOrderNumberAgain" runat="server" Text="ordernumberagain"></asp:Label></td> 
         <td>&nbsp;</td> 
        </tr> 
        <tr> 
         <td>&nbsp;</td> 
         <td><asp:Label ID="LblOrderTimeAgain" runat="server" Text="ordertimeagain"></asp:Label></td> 
         <td>&nbsp;</td> 
        </tr> 
       </table> 
      </asp:View> 
      <br /> 
     </asp:MultiView> 
    </ContentTemplate> 
</asp:UpdatePanel> 
+0

Спасибо, у тебя хороший глаз. Он отлично работал. – nate

+0

@nate рад, что это сработало, удачи! – ethorn10

Смежные вопросы