C# 用Linkbutton替换gridview中的HTML内容

C# 用Linkbutton替换gridview中的HTML内容,c#,asp.net,gridview,webforms,C#,Asp.net,Gridview,Webforms,我想用Linkbutton替换gridview(包含文本框)列中的内容。实际上,本专栏包含HTML页面。当我点击链接按钮时,我想用这些HTML解释的页面打开新窗口 目前我只有以下几点: <asp: TemplateField HeaderText="Data"> <ItemTemplate> <asp:Label runat="server" ID="Data" Text='<%#Server.HtmlEncode(Convert.ToString

我想用Linkbutton替换gridview(包含文本框)列中的内容。实际上,本专栏包含HTML页面。当我点击链接按钮时,我想用这些HTML解释的页面打开新窗口

目前我只有以下几点:

<asp: TemplateField HeaderText="Data">
  <ItemTemplate>
    <asp:Label runat="server" ID="Data" Text='<%#Server.HtmlEncode(Convert.ToString(DataBinder.Eval(Container.DataItem,"Data"))) %>' />
  </ItemTemplate>
  <EditTemplate>
    <asp:TextBox runat="server" ID="txtData" Text='<%#Server.HtmlEncode(Convert.ToString(DataBinder.Eval(Container.DataItem,"Data"))) %>' />
  </EditTemplate>
</asp:TemplateField>

有人能给我解释一下如何进行吗?

使用

<asp:LinkButton runat="server" NavigateUrl='<%#Eval("DATA") %>' />
有关更多信息,请查看此参考:

编辑:

OpenWindow(myHTML)
{
    newwindow=window.open();
    newdocument=newwindow.document;
    newdocument.write(myHTML);
}
我的错误:),将
NavigateUrl
替换为
OnClientClick
,因此它变成这样:

<asp:LinkButton ID="LinkButton1" runat="server" Text="Click" OnClientClick="javascript:OpenWindow('<%#Eval("MyFieldName") %>');return false;" /> 

或者使用锚定标记,而不是使用LinkButton:

<a href="javascript:OpenWindow('<%#Eval("MyFieldName") %>');" runat="server" id="myLink" />

您可以使用

使用链接按钮更改文本框代码

<asp: TemplateField HeaderText="Data">
  <ItemTemplate>
    <asp:Label runat="server" ID="Data" Text='<%#Server.HtmlEncode(Convert.ToString(DataBinder.Eval(Container.DataItem,"Data"))) %>' />
  </ItemTemplate>
  <EditTemplate>
   <asp:LinkButton runat="server" NavigateUrl='YouFolder/<%#Eval("DATA") %>' />/>
  </EditTemplate>
</asp:TemplateField>

/>

谢谢

我遇到了类似的问题,我在数据库中存储了html,并想在div中显示它。这对我来说是有效的

<itemTemplate>
 <div>
   <%# Server.HtmlDecode( (string)DataBinder.Eval(Container.DataItem, "notes") ) %>
 </div>
</itemTemplate>


希望这能回答您的问题;)

谢谢你的回答,但还是不行。我澄清一下,我在本专栏中没有URL,只有HTML内容。我想打开一个解释HTML的窗口。哦,好的:)现在我明白了:)谢谢你的帮助,Siraj!我将Javascript函数放在site.master文件中,我的Default.aspx页面看起来是这样的:这就是你的意思?这肯定会起作用:)。。试着把你的javascript放在同一个页面(Default.aspx)会更好,因为它不是一个全局脚本,你需要整个网站的范围。我试着像下面这样放脚本,但我不明白为什么它不起作用:(更多关于如何将HTML内容传递到OpenWindow(我的HTML)中的问题)函数OpenWindow(myHTML){newwindow=window.open();newdocument=newwindow.document;newdocument.write(myHTML);}