1
我在寫一個生成JavaScript代碼併發送剃鬚刀視圖的方法。 但剃刀視圖編碼這根據它的head.Codes在下面。MvcHtmlString無剃刀編碼
這是我的方法體,返回mvchtmlstring:
StringBuilder scriptHtml = new StringBuilder();
scriptHtml.Append("<script>");
scriptHtml.Append(@"var {0} = {{
id: 'someText',
title: '{1}',
$(document).ready(function() {{
$.function({0});
}});");
scriptHtml.Append("</script>");
var output = string.Format(scriptHtml.ToString(), this.Id, this.Title);
return MvcHtmlString.Create(output);
所以,現在,它的輸出是:
@<script>var tlyPageGuide,,"direction":"Right"
像這樣具有編碼的增長。
這就是我想要的是Razor不應該改變我的代碼,而cshtml正在創建,我得到純JavaScript代碼與渲染。
注:我不想使用Html.Raw()作爲解決方案。我想在服務器端進行此操作。
你是什麼意思「服務器端」?你在服務器端渲染的所有Razor視圖。 – 2015-03-08 19:05:54
我的意思是,我不想在視圖中添加任何其他的Html.Raw()代碼。我想在'return MvcHtmlString.Create(output)'或方法主體上編碼它。順便一提; Html.Raw()正在工作,但我不想每次和每當我通過Helper像這樣@ @ Html.Raw(Html.MyHelper.MyMethod())調用我的方法時使用它。 – 2015-03-08 19:09:46