我在asp.net mvc 3中有以下自定义html助手
public static string RegisterJS(this HtmlHelper helper, ScriptLibrary scriptLib)
{
return "<script type=\"text/javascript\"></script>\r\n";
}
Run Code Online (Sandbox Code Playgroud)
问题是结果是像这样得到html编码(我必须添加空格才能正确显示结果:
<script type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
这对我来说显然没什么帮助..我读过的任何内容都没有说明这一点......关于如何才能得到真实结果的任何想法?
鉴于文字
<b>This is some text</b>
Run Code Online (Sandbox Code Playgroud)
我想把它写到我的页面,以便它显示如下:
<b>This is some text</b>
而不是这样
这是一些文字
使用escape("<b>This is some text</b>")在firefox中给我这个可爱的宝石
%3Cb%3EThis%20is%20some%20text%3C/b%3E
Run Code Online (Sandbox Code Playgroud)
不是我所追求的.有任何想法吗?
Html.Encode似乎只是简单地调用HttpUtility.HtmlEncode用它们的转义序列替换几个html特定字符.
但是,这并未考虑如何解释新行和多个空格(标记空白).因此,我为用户提供了一个文本区域,用于输入纯文本信息块,然后在另一个屏幕上显示该数据(使用Html.Encode),新的行和间距将不会被保留.
我认为有两种选择,但也许有人会建议更好.
一种选择是只编写一个使用HtmlEncode的静态方法,然后将结果字符串中的新行替换<br>为多个空格的组和
另一种选择是white-space: pre在我的样式表中弄乱属性 - 但是我不确定当Html帮助方法包含新行和Tab键以使页面源非常漂亮时是否会产生副作用.
是否有第三个选项,如全局标志,事件或方法覆盖,我可以用来改变html编码的方式而不必重做html帮助器方法?
我有一个绑定到ObjectDataSource的GridView.我也支持编辑,这很好用.但是,我想安全地显示HtmlEncode文本,因为我们允许在某些字段中使用特殊字符.这与标准的BoundFields有关,因为我只是将HtmlEncode设置为true.
但是为了设置验证控件,需要使用TemplateFields.如何轻松添加HtmlEncoding以这种方式输出?这是一个ASP.NET 2.0项目,所以我正在使用更新的数据绑定快捷方式(例如Eval和Bind).
我想做的是如下:
<asp:TemplateField HeaderText="Description">
<EditItemTemplate>
<asp:TextBox ID="TextBoxDescription" runat="server"
Text='<%# System.Web.HttpUtility.HtmlEncode(Bind("Description")) %>'
ValidationGroup="EditItemGrid"
MaxLength="30" />
<asp:Validator ... />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="LabelDescription" runat="server"
Text='<%# System.Web.HttpUtility.HtmlEncode(Eval("Description")) %>' />
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
但是,当我这样尝试时,我收到以下错误:
CS0103:当前上下文中不存在名称"Bind"
我有一个返回JavaScript和/或HTML片段的函数.
static public string SpeakEvil()
{
return "<script>alert('BLAH!!');</script>";
}
Run Code Online (Sandbox Code Playgroud)
在视图中,正如大多数人所期望的那样,Razor对它进行了非常正确的HTML编码.
@StaticFunctions.SpeakEvil()
Run Code Online (Sandbox Code Playgroud)
我如何使用Razor 而不是 HTML对此进行编码,以便逐字地发出HTML和JavaScript,并且任何脚本实际运行?
我有一个ASP.NET Web窗体应用程序.有一个带有TextBox的页面,用户在这些页面中输入搜索词,用于查询数据库.
我知道我需要阻止JavaScript注入攻击.我该怎么做呢?
在MVC我会用Html.Encode.它似乎没有在Web窗体中被识别.
谢谢!
我对以下短语中的"转义"和"编码"之间的区别感到困惑:
Xml编码
Xml转义
编码的Html
逃脱的网址
...
有谁可以向我解释一下?
我有一个页面是后端CRM管理面板的一部分.在该页面上,HTML输出来自一些我无法访问的PHP函数.并且HTML会自动更改<并>转换为HTML编码字符.
所以有一个包含html标签的div <br />被转换成<b />
所以我需要仅使用jQuery将其更改回HTML字符:
<到<
>到>
是否有一个jQuery脚本,我可以使用相应的符号替换这些特殊字符?这意味着我的HTML标签实际上是可行的,HTML将在屏幕上正确显示?
我试过removewith()但我无法使它工作.
补充:我试图修改的div就是这个
<div style="font-size: 11px; width: 90%; font-family: Tahoma;" id="cotiz"><strong>Valuación</strong> de InfoAuto: 35.500,00<br />
Cotización Seleccionada: Ninguna<br />
Allianz, Responsabilidad Civil: $205,25<br />
Allianz, Terceros Completos: $278,85 </div>
Run Code Online (Sandbox Code Playgroud) 可能重复:
在MySQL数据库中以阿拉伯语保存数据
我在使用PHP从MYSQL数据库中检索阿拉伯数据时出现问题,它显示为问号"????" 在HTML中:
请帮忙 !!!
html-encode ×10
asp.net ×2
asp.net-mvc ×2
arabic ×1
c# ×1
data-binding ×1
encode ×1
encoding ×1
escaping ×1
gridview ×1
javascript ×1
jquery ×1
mysql ×1
newline ×1
perl ×1
php ×1
razor ×1
security ×1
webforms ×1
xml ×1
xml-encoding ×1