对datagrid 自定义列值,然后,用<HyperLinkColumn>来绑定。
比如,我要绑定 “主题”列值,那么,这样写:
<asp:datagrid>
<Columns>
<asp:HyperLinkColumn DataNavigateUrlField="id" DataTextField="主题" HeaderText="主题" DataNavigateUrlFormatString="要超链的页面">
</asp:HyperLinkColumn>
</Columns>
</asp:datagrid>
比如,我要绑定 “主题”列值,那么,这样写:
<asp:datagrid>
<Columns>
<asp:HyperLinkColumn DataNavigateUrlField="id" DataTextField="主题" HeaderText="主题" DataNavigateUrlFormatString="要超链的页面">
</asp:HyperLinkColumn>
</Columns>
</asp:datagrid>
<asp:hyperlink runat="server" id="HL_Navigate"></asp:hyperlink>
</itemtemplate>itemdatabound
if(e.Item.ItemType==ListItemType.AlternatingItem || e.Item.ItemType==ListItemType.Item){
//如果数据源是DataView
DataRowView drv=(DataRowView)e.Item.DataItem;
//找到要控制的控件
HyperLink hl=(HyperLink)e.Item.FindControl("HL_Navigate");
//根据不同的值指定HyperLink的不同属性
if(drv[FiledName]==value1){
hl.NavigateURL=URL1;
hl.Text=Text1;
}
else if(drv[FieldName==value2]){
}
else{
}
}
<asp:datagrid>
<Columns>
<asp:TemplateColumn HeaderText="操作">
<ItemTemplate>
<a id="href1" runat=server >
<asp:Label ID="Label1" Runat=server text=详细信息></asp:Label>
</a>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
private void ss()
{
HtmlAnchor h1;for (int i=0;i<myDataGrid.Items.Count;i++)
{
string s=三种不同值
h1=(HtmlAnchor)myDataGrid.Items[i].FindControl("href1");
switch (s)
{
case "1":
h1.HRef=""
break;
.....
}}
}
for(int i=0;i<DataGrid1.Items.Count;i++)
{
string str_url = "";
bool b = true;
if(b == true)
{
str_url = "<a href='aaa.aspx'>连接1</a>";
}
else
{
str_url = "<a href='bbb.aspx'>连接2</a>";
}
DataGrid1.Items[i].Cells[index].Control.Add(new LiteralContral(str_url));
}