2014-11-15 74 views
1

我已經嘗試了許多不同的方式來顯示從列表視圖的值到任一文本框,或者只是將它存儲在會話中,稍後使用它,但它們都不起作用。從列表視圖中使用asp.net獲取選定項目的值#

我能夠使它適用於GridView,但我不能讓它適用於ListView。

的想法是讓用戶選擇(在GridView控件),並選擇俱樂部的ID(在列表視圖)

的ID獲取和存儲這兩個ID從選擇的行,我可以加入俱樂部到另一個用戶後。

比方說,我有表俱樂部其中有項:(4列,1行)

ID:1 ClubName:洛杉磯湖人 城市:洛杉磯 省:加利福尼亞

當我按第一行,它應該以不同的顏色突出顯示,然後將ID存儲到會話或文本框中。沒關係,因爲我會在稍後決定。但你們能幫我取得身份證嗎?

這是源代碼

<asp:ListView ID="ListView1" runat="server" DataKeyNames="KlubID" DataSourceID="SqlDataSource1" OnSelectedIndexChanged="ListView1_SelectedIndexChanged" style="margin-right: 324px" OnRowCreated="GridView1_RowCreated"> 
     <AlternatingItemTemplate> 
      <tr style="background-color:#FFF8DC;"> 
       <td> 
        <asp:Label ID="KlubIDLabel" runat="server" Text='<%# Eval("KlubID") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="ImeKlubaLabel" runat="server" Text='<%# Eval("ImeKluba") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="KrajLabel" runat="server" Text='<%# Eval("Kraj") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="DrzavaLabel" runat="server" Text='<%# Eval("Drzava") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="MenedzerLabel" runat="server" Text='<%# Eval("Menedzer") %>' /> 
       </td> 
      </tr> 
     </AlternatingItemTemplate> 
     <EditItemTemplate> 
      <tr style="background-color:#008A8C;color: #FFFFFF;"> 
       <td> 
        <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Update" /> 
        <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" /> 
       </td> 
       <td> 
        <asp:Label ID="KlubIDLabel1" runat="server" Text='<%# Eval("KlubID") %>' /> 
       </td> 
       <td> 
        <asp:TextBox ID="ImeKlubaTextBox" runat="server" Text='<%# Bind("ImeKluba") %>' /> 
       </td> 
       <td> 
        <asp:TextBox ID="KrajTextBox" runat="server" Text='<%# Bind("Kraj") %>' /> 
       </td> 
       <td> 
        <asp:TextBox ID="DrzavaTextBox" runat="server" Text='<%# Bind("Drzava") %>' /> 
       </td> 
       <td> 
        <asp:TextBox ID="MenedzerTextBox" runat="server" Text='<%# Bind("Menedzer") %>' /> 
       </td> 
      </tr> 
     </EditItemTemplate> 
     <EmptyDataTemplate> 
      <table runat="server" style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;"> 
       <tr> 
        <td>No data was returned.</td> 
       </tr> 
      </table> 
     </EmptyDataTemplate> 
     <InsertItemTemplate> 
      <tr style=""> 
       <td> 
        <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" /> 
        <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Clear" /> 
       </td> 
       <td>&nbsp;</td> 
       <td> 
        <asp:TextBox ID="ImeKlubaTextBox" runat="server" Text='<%# Bind("ImeKluba") %>' /> 
       </td> 
       <td> 
        <asp:TextBox ID="KrajTextBox" runat="server" Text='<%# Bind("Kraj") %>' /> 
       </td> 
       <td> 
        <asp:TextBox ID="DrzavaTextBox" runat="server" Text='<%# Bind("Drzava") %>' /> 
       </td> 
       <td> 
        <asp:TextBox ID="MenedzerTextBox" runat="server" Text='<%# Bind("Menedzer") %>' /> 
       </td> 
      </tr> 
     </InsertItemTemplate> 
     <ItemTemplate> 
      <tr style="background-color:#DCDCDC;color: #000000;"> 
       <td> 
        <asp:Label ID="KlubIDLabel" runat="server" Text='<%# Eval("KlubID") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="ImeKlubaLabel" runat="server" Text='<%# Eval("ImeKluba") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="KrajLabel" runat="server" Text='<%# Eval("Kraj") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="DrzavaLabel" runat="server" Text='<%# Eval("Drzava") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="MenedzerLabel" runat="server" Text='<%# Eval("Menedzer") %>' /> 
       </td> 
      </tr> 
     </ItemTemplate> 
     <LayoutTemplate> 
      <table runat="server"> 
       <tr runat="server"> 
        <td runat="server"> 
         <table id="itemPlaceholderContainer" runat="server" border="1" style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;"> 
          <tr runat="server" style="background-color:#DCDCDC;color: #000000;"> 
           <th runat="server">KlubID</th> 
           <th runat="server">ImeKluba</th> 
           <th runat="server">Kraj</th> 
           <th runat="server">Drzava</th> 
           <th runat="server">Menedzer</th> 
          </tr> 
          <tr id="itemPlaceholder" runat="server"> 
          </tr> 
         </table> 
        </td> 
       </tr> 
       <tr runat="server"> 
        <td runat="server" style="text-align: center;background-color: #CCCCCC;font-family: Verdana, Arial, Helvetica, sans-serif;color: #000000;"> 
         <asp:DataPager ID="DataPager1" runat="server"> 
          <Fields> 
           <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowLastPageButton="True" /> 
          </Fields> 
         </asp:DataPager> 
        </td> 
       </tr> 
      </table> 
     </LayoutTemplate> 
     <SelectedItemTemplate> 
      <tr style="background-color:#008A8C;font-weight: bold;color: #FFFFFF;"> 
       <td> 
        <asp:Label ID="KlubIDLabel" runat="server" Text='<%# Eval("KlubID") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="ImeKlubaLabel" runat="server" Text='<%# Eval("ImeKluba") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="KrajLabel" runat="server" Text='<%# Eval("Kraj") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="DrzavaLabel" runat="server" Text='<%# Eval("Drzava") %>' /> 
       </td> 
       <td> 
        <asp:Label ID="MenedzerLabel" runat="server" Text='<%# Eval("Menedzer") %>' /> 
       </td> 
      </tr> 
     </SelectedItemTemplate> 
    </asp:ListView> 

這是代碼 - 我最新的,不工作

protected void GridView1_RowCreated(object sender, System.Web.UI.WebControls.ListViewCommandEventArgs e) 
{ 
    ListViewDataItem item1 = e.Item as ListViewDataItem; 
    int findMe = item1.DisplayIndex; 

    var route = (Label)item1.FindControl("ID"); 
    TextBox1.Text = route.Text; 
} 

任何投入,將不勝感激,謝謝!

PS,它有可能有兩個網格存儲不同的數據?

我以前試過,但每次我在第二個gridview中選擇的項目,第一個gridview的項目被選中。

回答

-1

這是GridView的活動不是ListView控件事件

的處理

GridView1_RowCreated()

其實我有同樣的問題,因爲你,, ,我發現一種方式來獲得的id選擇原始,,

 int id =(int) ListView1.SelectedDataKey.Value; 
// if the Id is 
// the datakey which i think the primary key"" 

如果你想獲得不同列的數據在選定的listView raw ::

   ListViewItem item = ListView1.Items[ListView1.SelectedIndex];   

      WebControl c = (WebControl)item.FindControl("here type the lable id!!"); 
      Label la = (Label)c;//to get the text of the label by using c.Text; 

,因爲我是一個初學者我轉換兩次,,當然會有一個更好的辦法< <但是做什麼,如果沒有專家的答案

2

無需將其轉換爲三夏剛::

ListViewItem item = ListView1.Items[ListView1.SelectedIndex]; 
    Label c = (Label)item.FindControl("here type the lable id!!"); 

    //then use 
    string result=c.text;// you get the value or the text of the Label ,, 
+0

謝謝,但這是老線程,我已經找到答案 – aiden87

+0

和答案喲發現它是否像我一樣? – hamed

相關問題