c# - 何时使用 Literal 与 LiteralControl?

标签 c# asp.net

这两个控件的正确用法是什么?有时我会在后面的代码中构建 HTML。有时我想输出空白,结果我做了这样的事情。

const string twoSpaces = "  ";
p.Controls.Add(new Literal { Text = twoSpaces });

const string twoSpaces = "  ";
p.Controls.Add(new LiteralControl { Text = twoSpaces });

我的问题是,这是对这些控件的适当使用吗?我应该以这种方式添加空格吗?我什么时候使用一个而不是另一个?

我意识到我可能可以用 CSS 做一些事情,但我真的很想知道这两个控件的用途是什么,以这种方式使用它们有什么内在的错误。

最佳答案

Literal 使用 ViewState 并会记住其属性在 Postbacks 中的任何更新。 LiteralControl 必须在每次回发时设置其属性。

除此之外,使用 Literal 时要非常小心。如果您允许在 Literal 标签中呈现用户输入,您很可能已经开启了 XSS 攻击。

关于c# - 何时使用 Literal 与 LiteralControl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1848257/

相关文章:

c# - 在 void 方法中使用 return 是不好的做法吗?

c# - 如何知道 Android 设备何时插入 USB 端口?

c# - 是否有可能以 mvvm 模式在 wpf datagrid 上获取动态列?

c# - ASP.NET (C#) - 与 PHP

c# - div 中样式为 ="display:none"的 .NET 按钮未触发

c# - 查找项目中的程序集依赖项

asp.net - 如何避免点击按钮时的 Page_Load() ?

c# - 为什么我的用户控件一直将其可见属性重置为 false?

asp.net - 如何组织和操作文件系统中的图片?

c# - MVC 4 Web 应用程序中的应用程序范围日志记录