【问题标题】:create hyperlink in gridview asp.net c#在gridview asp.net c#中创建超链接
【发布时间】:2008-10-21 18:46:00
【问题描述】:

我的代码在 c# asp.net 3.5 中

在以下代码中,“Msg”包含许多带有空格和字符的单词(例如:无法准备同步收藏夹:目录不存在:\STL-FNP-02\ryounes$\Sync\Favorites)。这个“消息”从数据库中拉到一个网格视图。我无法在 gridview 中为此“Msg”创建超链接。由于它有空格,它不会创建超链接。

我需要为此“Msg”创建超链接,然后在 linq 查询中使用它。

我认为应该使用 eval 或 url 编码器。我不知道该怎么做。谁能说说怎么办?

 <asp:HyperLinkField DataTextField="Msg" HeaderText="Msg" DataNavigateUrlFields="Msg"   
  DataNavigateUrlFormatString="Sync.aspx?Msg={0}" />

【问题讨论】:

    标签: c# asp.net linq


    【解决方案1】:

    解决它的最简单方法是使用类似

    <asp:TemplateField HeaderText="Msg"> 
        <asp:HyperLink runat="server" Text='<%# HttpUtility.UrlEncode(Eval("Msg")) %>' NavigateUrl='<%#Eval("Msg")%>' />
    </asp:TemplateField>
    

    不是 100% 确定语法是正确的,但您大致了解

    【讨论】:

      【解决方案2】:

      它不会创建链接,因为它不是有效的 URL,而不是使用超链接列,您很可能需要迁移到模板并自行管理它,或者至少对其进行一些格式化。

      我会很谨慎,不管它是否是一个超链接,它会在哪里消失?

      如果根据消息有一个特定的地方你应该去,在你绑定到网格之前计算一下......

      【讨论】:

        【解决方案3】:

        听起来您需要对字符串进行 url 编码,以便单词和空格可以作为一个变量存在于查询字符串中。看看这个函数:http://msdn.microsoft.com/en-us/library/zttxte6w.aspx

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-25
          • 2014-02-10
          • 1970-01-01
          相关资源
          最近更新 更多