2014-08-18 5 views
0

У меня есть некоторые страницы asp.net.asp.net: ListView на главной странице

Я использовал главную страницу для реализации общего управления.

На главной странице есть список.

И на этикетке есть надпись.

Я хочу реализовать ниже.

Когда пользователь выбирает узел на ListView из MasterPage,

текст надписи на contentpage изменяется в текст узла.

Как я могу реализовать это.

Не могли бы вы дать мне несколько советов или ссылку на мой вопрос?

Заранее спасибо.

+0

пожалуйста разместить код – Robert

ответ

1

На Master1.master, я использовал ItemCommand событие на ListView

<form id="form1" runat="server"> 

    <asp:ListView ID="List1" runat="server" onitemcommand="List1_ItemCommand"> 
     <ItemTemplate> 
      <p> 
       <asp:label ID="ItemLabel" runat="server" text="<%#Container.DataItemIndex %>" /> 
       <asp:LinkButton ID="ItemLink" runat="server" CommandName="SelectItem" Text="Select" /> 
      </p> 
     </ItemTemplate> 
    </asp:ListView> 

    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"> 

    </asp:ContentPlaceHolder> 

</form> 

И Master1.master.cs, магазин выбранный текстовый элемент общественной собственности

public partial class Master1 : System.Web.UI.MasterPage 
    { 

     public string selectedText { get; set; } 

     protected void List1_ItemCommand(object sender, ListViewCommandEventArgs e) 
     { 
      if (e.CommandName == "SelectItem") 
      { 
       selectedText = ((Label)e.Item.FindControl("ItemLabel")).Text; 
      } 
     } 

    } 

Тогда в Content1.aspx, добавить ярлык с идентификатором Label1

<asp:Label ID="Label1" runat="server" /> 

Наконец в Conetnt1.aspx.cs, прочитать свойство «selectedText» на событии пререндера (который приходит после выбора щелчка)

protected void Page_PreRender(object sender, EventArgs e) 
    { 
     var myMaster = (Master1)this.Master; 
     Label1.Text = myMaster.selectedText; 
    } 
Смежные вопросы