繁体   English   中英

文字控制模式之间的差异

[英]Difference between modes of literal control

文字控制的passthrough和Transform模式之间有什么区别?

你也可以发一个例子吗?

有不同的Literal Modes Literal.Mode

  1. PassThrough:不修改控件的内容。
  2. 编码:控件的内容将转换为HTML编码的字符串。
  3. 转换:从控件的内容中删除不支持的标记语言元素。 如果在支持HTML或XHTML的浏览器上呈现Literal控件,则不会修改控件的内容。

看看这篇MSDN文章http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.literal.mode.aspx

并查看这个实现的示例使用ASP.NET的Literal控件充分发挥其潜力

如果你反编译System.Web.UI.WebControls.Literal.Render,你得到这个:

protected internal override void Render(HtmlTextWriter writer)
{
    string text = this.Text;
    if (text.Length != 0)
    {
        if (this.Mode != LiteralMode.Encode)
        {
            writer.Write(text);
        }
        else
        {
            HttpUtility.HtmlEncode(text, writer);
        }
    }
}

这与.NET 2.0和.NET 4.0相同。

所以无论文档说什么,Transform(默认)和PassThrough都没有区别。

如果我错了,请纠正我。 有很多文章只是重复官方文档,但我希望看到一个代码示例,证明存在差异。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM