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

我有一个像这样定义的动作:

    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代码并更改视图。 目前,当我运行代码时,出现错误消息:

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

我该如何解决这个问题?


你的情况中的问题是redirecttoaction会产生一个新的(302)http请求,你发送的'model'将被发送querystring,querystring有一个限制,然后尝试使用TempData作为:

TempData["mydata"] = tmpOutput ;

然后在TempOutput操作中检索TempData值,或者直接在View中使用它,如图所示。

查看:

<div>@Html.Raw(TempData["mydata"])</div> 
链接地址: http://www.djcxy.com/p/42115.html

上一篇: How can I pass HTML code stored in a string variable to a view in MVC 5?

下一篇: In MVC, how do I return a string result?