C# 如何将存储在字符串变量中的HTML代码传递给MVC5中的视图?
我有一个动作定义如下:C# 如何将存储在字符串变量中的HTML代码传递给MVC5中的视图?,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个动作定义如下: public ActionResult TempOutput(string model) { return View((object)model); } 我也有它的观点,定义如下: @model String @{ ViewBag.Title = "TempOutput"; } <h2>TempOutput</h2> @Model 关键是,当我有一个短字符串时,它可以正常工作,但在我的例子中
public ActionResult TempOutput(string model)
{
return View((object)model);
}
我也有它的观点,定义如下:
@model String
@{
ViewBag.Title = "TempOutput";
}
<h2>TempOutput</h2>
@Model
关键是,当我有一个短字符串时,它可以正常工作,但在我的例子中,tmpOutput是一个字符串变量,它包含一个长HTML代码。问题是,我希望在视图中传递HTML代码,但我不希望它显示为普通文本,而是希望它被解析为HTML代码并更改视图。目前,当我运行代码时,会收到一条错误消息,上面说:
请求过滤模块配置为拒绝请求,其中
查询字符串太长
如何解决此问题?您的问题是
重定向到操作
发出一个新的(302)http请求,您发送的'model'
将使用querystring发送,querystring有一个限制,然后尝试使用TempData
作为:
TempData["mydata"] = tmpOutput ;
然后在TempOutput
操作中检索TempData
值,或直接在视图中使用它,如图所示
视图:
<div>@Html.Raw(TempData["mydata"])</div>
@Html.Raw(TempData[“mydata”])
您能给我完整的代码示例吗?我需要更改什么?在您的视图中使用@Html.Raw(TempData[“mydata”])。@这很酷!我对MVC很陌生。你是说在使用这种方法时,我能够将原始html coe发送到页面吗?是的..然后html.raw将把字符串编码为视图中所需的html..@Dean.DePue
<div>@Html.Raw(TempData["mydata"])</div>