我正在使用Gridview控件开发一个aspx页面。我在这里粘贴我的代码
<Columns>
<asp:TemplateField HeaderText="Request">
<ItemTemplate>
<asp:LinkButton ID="sendrequest" runat="server" Text="SendRequest" CommandName="SendRequest"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="FirstName">
<ItemTemplate>
<asp:Label ID="fname" runat="server" Text='<%#Eval("fname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="LastName">
<ItemTemplate>
<asp:Label ID="lname" runat="server" Text='<%#Eval("lname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="EMailID">
<ItemTemplate>
<asp:Label ID="email" runat="server" Text='<%#Eval("email") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Image">
<ItemTemplate>
<asp:Image ID="img" runat="server" ImageUrl='<%#Eval("imagepath") %>' Width="100" Height="100" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Request">
<ItemTemplate>
<asp:LinkButton ID="viewprofile" runat="server" Text="ViewFullProfile" CommandName="ViewProfile"
a href ='<%#"ViewProfile.aspx?email="+DataBinder.Eval(Container.DataItem,"email") %>'>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我的问题是我需要LinkButton(SendRequest)点击该行电子邮件值的电子邮件值
请帮帮我
答案 0 :(得分:2)
处理GridView RowCommand事件:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("SendRequest"))
{
string strEmail = GridView1.DataKeys[Convert.ToInt32(e.CommandArgument)].Value.ToString();
lbltest.Text = strEmail;
}
}
假设您将DataKeyNames设置为电子邮件。 您还必须将 sendRequest 按钮的CommandArgument设置为
CommandArgument="<%# Container.DataItemIndex %>