C# 用Linkbutton替换gridview中的HTML内容
我想用Linkbutton替换gridview(包含文本框)列中的内容。实际上,本专栏包含HTML页面。当我点击链接按钮时,我想用这些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
<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);}