在gridview asp.net中创建超链接c#

5 c# linq asp.net

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

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

我需要为这个"Msg"创建超链接,后者在linq查询中使用它.

我认为一个shud要么使用eval或url编码器.我不知道该怎么做.谁能说怎么去呢?

 <asp:HyperLinkField DataTextField="Msg" HeaderText="Msg" DataNavigateUrlFields="Msg"   
  DataNavigateUrlFormatString="Sync.aspx?Msg={0}" />
Run Code Online (Sandbox Code Playgroud)

Mar*_*ing 4

解决这个问题的最简单方法是使用类似的东西

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

不能 100% 确定语法是否正确,但您已经了解了总体思路