如何在Datagrid中显示数据库中的一些网址,并且在点击网址的时候可以打开一个新的网页来显示该网站的内容。
比如:
在数据库中有一个字段叫“m_homepage”,数据有“www.hotmail.com, www.163.com, www.sohu.com, www.sina.com”现在想将该字段的全部内容显示在Datagrid中,并用鼠标点网址的时候可以打开一个新的页面,显示该网站的内容,应该怎么做?谢谢各位帮忙!

解决方案 »

  1.   

    这个处理起来就比较麻烦了,如果格式就这样的话,就将这些用","分开来,每个里面加上连接
    如:www.hotmail.com 替换成"<a href=www.hotmail.com target=_blank>www.hotmail.com</a>"
      

  2.   

    请问你的字段"m_homepage"是如下那种:
    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不用再教了
      

  3.   

    <%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>
    <%@ 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>
     哈哈 去试试吧!
      

  4.   

    这个没问题
    <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>