【问题标题】:show html code stored in database显示存储在数据库中的 html 代码
【发布时间】:2016-06-22 15:52:01
【问题描述】:

我正在使用 mvc、c# 和 sql。我尝试从我的数据库中引入 html 代码(例如,表格代码),并在我的视图中显示它。 这是我的视图模型:

viewmodel:

public string Color { get; set; }
public string body { get; set; }
public string style { get; set; }

这是我的控制器代码

 entity db = new myentity();
var html = new htmlviewmodel();
html.body=db.getbody(); //gets html code for my view, for example, a table
html.style=db.getstyle(); //gets a css style for instance, mystyle

这将是我的观点

this is your table:
@model.body 
<div style=@model.style> bla bla </div>

谁能帮我知道如何在我的数据库中存储 html?以及如何在我的视图中使用html?

【问题讨论】:

  • 有什么问题?您正在寻找Html.Raw()。而且你几乎肯定有 XSS 漏洞。
  • @SLaks 很好奇为什么几乎肯定是 XSS 仅仅是因为 HTML 是从数据库中提取的? Ebaneo 将 html 存储为 VARCHAR(MAX) 或 NVARCHAR(MAX) 取决于您是否有 unicode 字符。 stackoverflow.com/questions/5772897/storing-html-in-sql-server
  • 一定要存入数据库吗?如果没有,您知道如果您需要稍微调整 HTML,这将给您带来一大堆问题。
  • @Matt:不;因为 HTML 可能不受信任。
  • @SLaks 可能不受信任,因为它被存储在数据库中并且来源目前未知。所以外部世界/用户形式非常容易受到 XSS 的影响,但内部版本控制或其他东西不应该那么容易受到影响.....我猜你可能有一个观点,从他的问题中的一点点细节来看,这似乎是一个相当大的假设,所以我很好奇我是否遗漏了什么。

标签: c# html sql view


【解决方案1】:

您是否正在显示?你能在提供的页面中看到 (检查 HTML)吗?

已编辑:Storing HTML in SQL Server 有关如何在 SQL Server 中存储 HTML 的信息

【讨论】:

  • 不好意思,可能我解释的不好,我想知道html应该以什么格式存储,如何调用并显示在我的视图中
  • 好的,那么马特回答了你的问题。如果您转到该链接,它会告诉您使用 VARCHAR(MAX) 或 NVARCHAR(MAX)。
猜你喜欢
  • 2013-08-27
  • 2011-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-08
  • 2016-07-29
相关资源
最近更新 更多