代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

我应该在何处在ASP.NET MVC站点中编码此HTML数据

  •  0
  • leora Matt Lacey  · 技术社区  · 15 年前

    这是我的视图代码:

    <%=Model.HtmlData %>
    

    这是我的控制器代码:

        public ActionResult GetPage()
        {
            ContentPageViewModel vm = new ContentPageViewModel();
            vm.HtmlData = _htmlPageRepository.Get("key");
            return View(vm);
        }
    

    我的知识库类基本上查询包含以下字段的数据库表:

    id, pageName, htmlContent
    

    .get()方法传入pagename(或key)并返回htmlcontent值。

    现在我刚刚开始(还没有将任何内容持久化到数据库中),所以我现在没有在代码中进行任何显式编码。

    在需要进行编码的地方(在模型、控制器和视图中),最佳实践是什么??)

    1 回复  |  直到 12 年前
        1
  •  4
  •   Fenton    15 年前

    编码是视图关注的问题。使用同一数据库时,可能会有两个非常不同的显示,因此通常不建议以特定视图所需的状态存储数据。

    作为旁注…如果您使用.NET 4

    <%: Model.HtmlData %>
    

    是新的

    <%= Sever.HtmlEncode(Model.HtmlData) %>