如何访问datalist中的按钮我想访问与数据库表字段绑定的按钮文本

时间:2011-03-28 18:01:12

标签: c#

<asp:DataList ID="DataList2" runat="server" DataSourceID="SqlDataSource2" onitemcommand="DataList2_ItemCommand">
   <ItemTemplate>
      <div class="style49">
         <table style="width:100%;">
            <tr>
               <td class="style50">
                  <asp:Image ID="Image3" runat="server" Height="61px" 
                             ImageUrl='<%# Eval("F_Image") %>' Width="48px" />
               </td>
               <td>
                  <asp:LinkButton ID="LinkButton3" runat="server" Height="25px"
                                  TabIndex="1" Text='<%# Eval("Name") %>' 
                                  Width="92px" CommandName="view_frnd">
                  </asp:LinkButton>
               </td>
            </tr>
         </table>
      </div>
   </ItemTemplate>
</asp:DataList>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
     ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
     SelectCommand="SELECT * FROM [Friends] WHERE ([Email] = @Email)">
    <SelectParameters>
       <asp:SessionParameter Name="Email" SessionField="uid" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

protected void DataList2_ItemCommand(object source, DataListCommandEventArgs e)
{
   if (e.CommandName == "view_frnd")
   {
      Response.Write(e.CommandName.ToString());
   }
}

是succsessfully执行但我想要与数据库表字段绑定的linkbutton文本。如何访问linkbutton3文本?

2 个答案:

答案 0 :(得分:0)

protected void DataList2_ItemCommand(object source, DataListCommandEventArgs e)
{
    if (e.CommandName == "view_frnd")
    {
        // get the link button in the row selected
        LinkButton LinkButton3 = (LinkButton)e.Item.FindControl("LinkButton3");
        // get its text
        Response.Write(LinkButton3.Text);
    }
}

答案 1 :(得分:0)

如果您想要访问该值,那么您应该能够将相同的值绑定到LinkBut​​ton的CommandArgument属性,并且它将显示为{{1}中的CommandArgument值单击按钮时,DataList的事件参数。

DataListCommandEventArgs

在您的事件处理程序中,您可以访问它:

CommandArgument='<%# Eval("Name") %>'