- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 C# 编写一个 asp.net 站点(实际上是一个 DotNetNuke 模块)。从代码隐藏,我正在尝试创建一个 <script>
我在其中设置所需 js 变量的标记,然后将其附加到 HMTL <head>
. js var 是图像文件的相对 URL 的(文字)数组。由于数组包含字符串,因此每个项目都必须用引号引起来。
问题是,<script>
之间的字符串和 </script>
在某处自动进行 HtmlEncoded,因此每个数组项周围的引号将替换为 "
.这似乎发生在 HtmlGenericControl
时。被渲染。 DotNetNuke 会是罪魁祸首吗?有人可以建议解决方法吗?
我当前的代码(从我控制的 Page_Load
处理程序运行):
HtmlGenericControl PreviewDataScriptTag = new HtmlGenericControl("script");
PreviewDataScriptTag.Attributes.Add("type", "text/javascript");
StringBuilder PreviewDataScriptCode = new StringBuilder();
PreviewDataScriptCode.Append("var preview_imgs = [");
string pathPrefix = @"""";
string pathSuffix = @""",";
foreach (string path in this.DocPreviewImages)
{
PreviewDataScriptCode.Append(pathPrefix + PreviewUrlBase + Path.GetFileName(path) + pathSuffix);
}
// Remove last comma from js code
PreviewDataScriptCode.Remove(PreviewDataScriptCode.Length-1, 1);
PreviewDataScriptCode.Append("];");
PreviewDataScriptTag.InnerText = PreviewDataScriptCode.ToString();
Page.Header.Controls.Add(PreviewDataScriptTag);
最佳答案
看看使用 InnerHtml节点的属性,而不是 InnerText 属性。
The InnerHtml property does not automatically encode special characters to and from HTML entities. HTML entities allow you to display special characters, such as the < character, that a browser would ordinarily interpret as having special meaning. The < character would be interpreted as the start of a tag and is not displayed on the page. To display the < character, you would need to use the entity <.
关于c# - 如何防止 HtmlGenericControl 对内容进行 html 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7127691/
我有以下代码: foreach (Control c in myControl.Controls) { if(c.GetType().Equals(typeof(HtmlGenericCont
Asp.NET C#。 可以创建不带标签的 HtmlGenericControl 吗?如果我写: HtmlGenericControl o_My_Control = New HtmlGenericCo
System.Web.UI.HtmlControls.HtmlGenericControl div = (System.Web.UI.HtmlControls.HtmlGenericControl)p
我需要这方面的帮助,我正在尝试将内容页面中的 div 标签中的“display:none”设置为“display:block”。当我执行下面的代码时,HtmlGenericControl 类不断给出错
我是 asp.net c# 的新手,所以请任何人帮助我编写以下代码: var td1 = new HtmlGenericControl("td"); 我怎样才能使这个 td colspan 为任意值?
在 asp.net 中,我试图生成一个图像标签: var img = new HtmlGenericControl("img"); 它似乎生成 如何使用 asp.net/C# 生成普通图像标签? 例如
我正在使用一个非常简单的 HtmlGenericControl 代码,它只是在我的代码后面动态添加 CSS它给了我未设置为对象实例的对象引用,如您所见,它显然不为空 HtmlGenericContro
有一种方法可以控制我的 HtmlGenericControl 的 ID。 我尝试创建自己的 HtmlGenericControl 并覆盖 UniqueID、ClientID、onPreRender 等
我正在调查为什么我的一个应用程序运行速度很慢。该应用程序生成并显示一个网格,并用工作任务(呈现为表格单元格)填充它。在每个任务中都有一个 c# - 如何在 HTMLGenericControl 上注册服务器端点击?
我正在寻找一种可靠的机制来为 HTMLGenericControl(例如 li 元素)生成服务器端回发处理程序。 我有一些我不想更改的标记,并且更愿意以与标准 .Net 服务器控件相同的方式对待它。
我这样创建 HtmlGenericControl : HtmlGenericControl inner_li = new HtmlGenericControl("li"); inner_li.Attr
我有一个非常简单的操作,我尝试将 HtmlGenericControl 添加到另一个 HtmlGenericControl : protected void Page_Load(object send
我正在通过代码隐藏向给定网页添加一些内容。当我想在某些文本后添加换行符时,我尝试这样做: pDoc.Controls.Add(New Label With {.Text = "whatever"})
这和这个问题差不多, Difference between HtmlTable and TagBuilder("table")和 Why use TagBuilder instead of Strin
我希望能够向 html 字符串添加属性,而无需构建解析器来处理 html。在一种特定情况下,我希望能够提取 html 的 id 或将 id 插入 html 服务器端。 假设我有: string str
...我正在尝试使用这段代码动态地向我的 ASP 控件添加或删除类(这是我通过结对编程的好 friend 找到的,他将被称为“G 先生”) public static class WebHelper
我有一个 Html 页面模板,我需要在 ASP.NET 中动态添加它的内容。我还需要制作许多模板页面实例,具体取决于数据。 很明显,使用字符串创建大型 Html 是非常肮脏的方式。所以我选择使用 Ht
我正在 C#/ASP.net 中创建一个新的 HtmlGenericControl,并且需要在该控件上创建一个没有值的属性。这意味着属性后没有 =""。 oHtmlGenericControl = n
我有一个DIV元素: Nothing here... yet 和动态更改其内容的 JavaScript。经过一些操作后,我的元素看起来像这样(用 Firebug 测试,JS 没问题): FirstTe
我正在使用 C# 编写一个 asp.net 站点(实际上是一个 DotNetNuke 模块)。从代码隐藏,我正在尝试创建一个 我在其中设置所需 js 变量的标记,然后将其附加到 HMTL . js
我是一名优秀的程序员,十分优秀!