如何在Datagrid中显示数据库中的一些网址,并且在点击网址的时候可以打开一个新的网页来显示该网站的内容。
比如:
在数据库中有一个字段叫“m_homepage”,数据有“www.hotmail.com, www.163.com, www.sohu.com, www.sina.com”现在想将该字段的全部内容显示在Datagrid中,并用鼠标点网址的时候可以打开一个新的页面,显示该网站的内容,应该怎么做?谢谢各位帮忙!
比如:
在数据库中有一个字段叫“m_homepage”,数据有“www.hotmail.com, www.163.com, www.sohu.com, www.sina.com”现在想将该字段的全部内容显示在Datagrid中,并用鼠标点网址的时候可以打开一个新的页面,显示该网站的内容,应该怎么做?谢谢各位帮忙!
如:www.hotmail.com 替换成"<a href=www.hotmail.com target=_blank>www.hotmail.com</a>"
1.
m_homepage
"www.hotmail.com, www.163.com, www.sohu.com, www.sina.com"
这样的话你只能分割字符了。
2.
m_homepage
"www.hotmail.com"
"www.163.com"
"www.sohu.com"
"www.sina.com"如上两种只要取到相应的数据、你在模板列中加入hyperlink控件。
在前台绑定你的m_homepage字段、就可以了
代码如下:
html中
<asp:HyperLink id="helpLink1" runat="server" Target=_blank NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.m_homepage"%>'</asp:HyperLink>后台绑定DataGrid不用再教了
<%@ Import NameSpace="System.Data" %>
<%@ Import NameSpace="System.Data.OleDb" %>
<%@ Import NameSpace="System.Data.DataTable" %>
<html>
<head>
<title></title>
</head>
<body>
<form runat="server">
<asp:DataGrid ID="dg1" runat="server" AutoGenerateColumns="false">
<columns>
<asp:hyperlinkcolumn
target="_blank"
datanavigateurlfield="m_homepage"
datanavigateurlformatstring="http;//{0}
datatextfield="m_homepage"
headertext="友情连接">
</asp:hyperlinkcolumn></columns>
</asp:DataGrid>
</form>
</body>
<script language="vb" runat="server">
sub page_load(sender as object,e as eventargs)
dim SqlStr As String = "select m_homepage form 你的表名
Dim ConnStr As String = "Provider=MIcrosoft.Jet.OLEDB.4.0;"
ConnStr += "Data Source=" & Server.MapPath("你的数据库名")
Dim Da As New OleDbDataAdapter(SqlStr, ConnStr)
Dim Ds As New DataSet()
Da.Fill(Ds,"你的表名")
dg1.columns(0).visible=true
dg1.datasource=Ds.tables("你的表名")
dg1.databind()
da.dispose()
end sub
</script>
</html>
哈哈 去试试吧!
<asp:datagrid id="DataGrid1" runat="server" PageSize="25" AutoGenerateColumns="False" ShowHeader="False"
GridLines="None">
<Columns>
<asp:TemplateColumn>
<HeaderStyle Width="30px"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" Height="23px" VerticalAlign="Middle"></ItemStyle>
<ItemTemplate>
<FONT face="宋体"><IMG src="aa.gif"> </FONT>
</ItemTemplate>
</asp:TemplateColumn>
<asp:HyperLinkColumn Target="_blank" DataNavigateUrlField="m_homepage" DataNavigateUrlFormatString="http://{0}"
DataTextField="Title">
<HeaderStyle Width="490px"></HeaderStyle>
</asp:HyperLinkColumn>
<asp:BoundColumn DataField="PostTime">
<ItemStyle HorizontalAlign="Right" CssClass="dateStyle" VerticalAlign="Middle"></ItemStyle>
</asp:BoundColumn>
</Columns>
</asp:datagrid>