我想在我的数据网格中创建一列超链接字段。但是,为了为每个链接创建url,我需要一个在后面的代码中生成的guid。有没有办法获取该值并在我的数据网格控件中使用它?
答案 0 :(得分:0)
当然......在DataGrid中使用OnItemDataBound
<asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="False" Width="100%"
ShowHeader="false" OnItemDataBound="DataGridODB" BorderStyle="None" GridLines="None"
CssClass="FormGrid">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink ID="MyHiperLynk1" runat="server" />
<asp:HyperLink ID="MyHiperLynk2" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
抓住一些数据仓字段,或者生成你的guid代码
protected void DataGridODB(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
int LinkID = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "LinkID").ToString());
Guid myGuid = new Guid();
// populate your GUID code here
((HyperLink)e.Item.FindControl("MyHiperLynk1")).NavigateUrl = String.Format("http://www.lmnop.qrs/default.aspx?id={0}&guid={1}", LinkID, myGuid);
((HyperLink)e.Item.FindControl("MyHiperLynk2")).NavigateUrl = String.Format("http://www.lmnop.qrs/index.aspx?id={0}&guid={1}", LinkID, myGuid);
}
}