如何将存储在字符串变量中的HTML代码传递到MVC 5中的视图

本文关键字:MVC 视图 代码 HTML 存储 字符串 变量 | 更新日期: 2023-09-27 18:19:31

我有一个定义如下的操作:

    public ActionResult TempOutput(string model)
    {
        return View((object)model);
    }

我也有它的观点,定义如下:

@model String
@{
    ViewBag.Title = "TempOutput";
}
<h2>TempOutput</h2>
@Model

在我的代码中,有一点,我用这行代码调用操作方法和视图:

return RedirectToAction("TempOutput", "SEO", new { model = tmpOutput });

关键是,当我有一个短字符串时,它可以很好地工作,但在我的例子中,tmpOutput是一个字符串变量,它包含一个长HTML代码。问题是,我想在视图中传递HTML代码,但我不希望它显示为普通文本,但我希望它被解析为HTML代码并更改视图。目前,当我运行代码时,我收到一条错误消息,上面写着:

请求过滤模块被配置为拒绝请求,其中查询字符串太长。

我该如何解决这个问题?

如何将存储在字符串变量中的HTML代码传递到MVC 5中的视图

您的情况中的问题是redirecttoaction发出一个新的(302)http请求,并且您正在发送的'model'将使用querystring发送,并且querystring有限制,然后尝试使用TempData作为:

TempData["mydata"] = tmpOutput ;

然后在CCD_ 5动作中检索CCD_。

视图:

<div>@Html.Raw(TempData["mydata"])</div>