我有一个gridview,前些列都是文本数据,最后一列希望写上“详情”两个字,当用户点击“详情”二字时,能够自动将日期作为参数传送到第二个页面中去,gridview数据都是从数据库中获得,每一行是一个日期,希望在每一行的最后一列上都有“详情”两个字,应该怎样实现?
我已经通过循环,将前面的文本数据部分都填充完成了,就是不知道最后这个动态链接应该如何完成?
我已经通过循环,将前面的文本数据部分都填充完成了,就是不知道最后这个动态链接应该如何完成?
<Columns>
<asp:BoundField DataField="From" HeaderText="From" />
<asp:BoundField DataField="To" HeaderText="To" />
<asp:BoundField DataField="Hours" HeaderText="Total Hours" />
<asp:TemplateField HeaderText="Details" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false" CommandArgument='<%# Eval("Name") + "|" + Eval("Type") %>'CommandName="Details" Text="Details">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Details")
//...
<a href="a.aspx?Id=<%#Eval("Id") %>" target="_blank"><#Eval("Title")%></a>
</ItemTemplate>
<asp:HyperLinkField HeadText="Name" DataNavigateUrlFields="ID" DataNavigateUrlFormatString="a.aspx?id={0}" DataTextField="Name" >
</asp:HyperLinkField>
我写了段代码,但可能还是有错误,也不清楚应该加在哪个地方,是gridview的RowCreated中呢?还是放在用户的click下跟其他数据行一起生成呢?
HyperLinkField hf2 = new HyperLinkField();
//hf2.HeaderText = "详情";
string[] Navigateurls = { "sdate" };
hf2.DataNavigateUrlFormatString = "a.aspx?id={0}";
hf2.DataNavigateUrlFields = Navigateurls;
hf2.Target = "_blank";
hf2.Text = "详情";
GridView1.Columns.Add(hf2);
还是只是一个Table而已