动态参数通过超级链接传递在数据网格中asp.net(C#)
问题描述:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px"
CellPadding="4">
<Columns>
<asp:BoundField DataField="FileID" HeaderText="FileID" />
<asp:BoundField DataField="FilePath" HeaderText="FilePath" />
<asp:BoundField DataField="UploadedBy" HeaderText="CreatedBy" />
<asp:BoundField DataField="CreatedDate" HeaderText="CreatedDate" />
<asp:HyperLinkField HeaderText="LINK" NavigateUrl="show.aspx" Text="SHOW" />
</Columns>
conn.Open();
SqlDataReader rdr = comm.ExecuteReader();
if (NAME.Equals("admin"))
{
GridView1.DataSource = rdr;
GridView1.DataBind();
}
else
{
GridView2.DataSource = rdr;
GridView2.DataBind();
}
rdr.Close();
我想使用在GridView的超级链接动态地根据该行是clicked.As我是新的传递值这我不能做到这一点。请任何人帮助我。动态参数通过超级链接传递在数据网格中asp.net(C#)
答
加网格中的onRowCommand事件
OnRowCommand="OnRowCommand_GridView1"
然后定义链接按钮,用的CommandName和CommandArgument
<asp:LinkButton ID="lnk1" runat="server" Text="DoClick" CommandName="Select" CommandArgument='<%#Eval("FileID") %>'></asp:LinkButton>
,比上后面的代码
protected void GridView1_OnRowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
int MyFileID = e.CommandArgument;
//Now Perfrom here ur desired action
}
希望这会帮助你。
答
检查GridView控件
的onRowCommand查看以下链接: How to get the current row in GridView Row Command Event?
有关行命令的信息:GridView.RowCommand Event
答
设置hyperlink NavigateUrl
财产像... NavigateUrl='<%# Eval("FileID", "show.aspx?ID={0}" %>'
NavigateUrl='<%# Eval("FileID", "show.aspx?ID={0}") + "&FilePath=" + Eval("FilePath") %>'
请问您是否可以更详尽一些。我今天第一次使用DataGrid。 – Naresh 2011-06-07 11:31:29