我的ASP.NET页面上有一个GridView。我想要的是在我点击时执行一个功能 在行上,我也想改变这一行的风格。我不想使用类型命令字段的选择按钮。有什么帮助吗?
答案 0 :(得分:1)
仅创建一个rowclickable gridview :http://aspadvice.com/blogs/joteke/archive/2006/01/07/14576.aspx
您可以创建一个TemplateField,在其中添加一个linkbutton,创建一个CommandName =“Select”和一个CommandArgument,如CommandArgument ='<%#Eval(“ID”)%>'。然后你可以将一个事件处理程序附加到Gridview的ItemCommand,并通过检查EventArgs中的commandname和commandargument来完成你想要做的所有事情。
这样的事情:
<asp:GridView ID="test" runat="server" onrowcommand="test_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" CommandArgument='<%#Eval("ID") %>' CommandName="ActionName">Click here</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
并在代码隐藏
中 protected void test_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "ActionName")
{
int id = int.Parse(e.CommandArgument.ToString());
//do stuff
}
}
答案 1 :(得分:0)
检查出来:
在GridView的RowCreated事件中,您将在创建每一行时循环遍历:
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference([grid_name], e.Row.RowIndex))
End If
就我而言,这就是我的意思。你将在Page_Load中处理这个事件,但是我正在自己处理这个事件而没有在同一个页面上与另外两个网格战斗。祝你好运,希望这会有帮助。它至少会让你回复...