2014-08-27 25 views
0

我有是這樣一個定義的動作:如何將存儲在字符串變量中的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可變whic字符串h擁有很長的HTML代碼。問題是我想在我的視圖中傳遞HTML代碼,但我不希望它顯示爲普通文本,但我希望它被解析爲HTML代碼並更改視圖。目前,當我運行代碼,我得到一個錯誤消息說:

請求篩選模塊被配置爲拒絕請求,其中 查詢字符串太長。

我該如何解決問題?

回答

0

你的情況的問題是,redirecttoaction使一個新的(302)HTTP請求和你'model'您發送將查詢字符串和查詢字符串被髮送有一個限制,然後使用TempData作爲,而不是嘗試:

TempData["mydata"] = tmpOutput ; 

然後檢索TempDataTempOutput操作或直接在View中使用它,如圖所示。

查看:

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

你能給我整個代碼示例,我需要改變嗎? – tett 2014-08-27 10:51:58

+0

在您的視圖中使用@ Html.Raw(TempData [「mydata」])。 – 2014-08-27 10:54:23

+0

@ ett ..查看更新的答案 – 2014-08-27 10:56:31

相關問題