我有一个文本框和一个GridView。我在gridview中创建了一个列作为链接按钮。我希望当我点击链接按钮时,我会在文本框中获得该链接按钮文本值。
我的gridview如下所示 -
我想点击 test5 我的textbox1.text = test5等等。
我该怎么做?
答案 0 :(得分:2)
请在gridview链接栏中添加命令名,如下所示
<asp:LinkButton runat="server" id="lnklink" CommandName="displayLink" />
在gridview上添加“RowCommand”事件,如下所示
<asp:GridView ID="gvDemo" runat="server
onrowcommand="gvDemo_RowCommand" />
protected void gvDemo_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "displayLink")
{
textbox1.text=((LinkButton)e.CommandSource).Text;
}
}
答案 1 :(得分:1)
你可以在asp和使用客户端技术(如JQUERY javascript等)中执行此操作,我建议你使用jquery,因为在客户端保留这些东西将帮助你提高性能
现在,当你创建一个网格/转发器等最终.net将它呈现为简单的html控件,而jquery或客户端技术只适用于这个html,这里有一个简单的html的小例子
<强>&GT; HTML 强>
My data : <input type="Text" id="TxtBox"/> //in .net id u have to take care by using .clientid property
<table>
<tr>
<td width="50">
<input type="checkbox"/>
</td>
<td width="50">
SOmething
</td>
<td width="50">
<a href="#" class="someName" >LINK1</a>
</td>
</tr>
<tr>
<td width="50">
<input type="checkbox"/>
</td>
<td width="50">
SOmething2
</td>
<td width="50">
<a href="#" class="someName" >LINK2</a> //class name is important since thats what we are going deal with
</td>
</tr>
<tr>
<td width="50">
<input type="checkbox"/>
</td>
<td width="50">
SOmething3
</td>
<td width="50">
<a href="#" class="someName">LINK3</a>
</td>
</tr>
</table>
<强> JQUERY 强>
$(".someName").on("click","",function(){
$("#TxtBox").val($(this).text());
});
<强> FIDDLE 强>
答案 2 :(得分:0)
为网格创建RowCommand事件,然后执行以下代码
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.ToLower() == "test")
{
textbox1.Text = e.CommandArgument.ToString();
}
}
对于aspx页面,请在linkbutton中执行以下操作
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="linkbtn" runat="server" Text="test5" CommandArgument="test5" CommandName="test" />
</ItemTemplate>
</asp:TemplateField>
或者如果要将数据库表列绑定到链接按钮,请执行以下操作
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="linkbtn" runat="server" Text='<% yourcolumname %>' CommandArgument='<% yourcolumname %>' CommandName="test" />
</ItemTemplate>
</asp:TemplateField>