我想使用 ASP.NET Html.Partial View 在 Javascript 中设置一个字符串。问题是 Html.Partial 给出了一个 HtmlString 而不是我可以用 JQuery 处理的 Javascript 字符串。
Javascript 代码:
myfunction= function () {
...
var badge=@Html.Partial("_UserBadge",User.Identity.Name).ToString();
....
$("#myNode").append(badge);
};
Html-部分“_UserBadge.cshtml”:
@model WT.Models.ttUser
<div style="..">
...some more lines html...
</div>
我的问题是每行开头的 ' 和末尾的 '+ 没有被添加。我该如何解决这个问题?
代码结果为:
var badge=
<div style="..">
...some more lines html...
</div>;
而不是 javascript 字符串:
var badge=
'<div style=".."> '+
'...some more lines html... '+
'</div> ';
最佳答案
你不能只使用类似的东西吗:
var badge='@Html.Partial("_UserBadge",User.Identity.Name).Replace( "\n", "\\n" ).Replace( "'", "\\'" )';
您在问题中建议您希望结果是:
'<div style=".."> '+
'...some more lines html... '+
'</div> ';
但请注意,这等同于:
'<div style=".."> ...some more lines html... </div> ';
这可能不是您真正想要的(因为这与 _UserBadge 页面不同)。
您可能实际上想要的是更像这样的东西:
'<div style="..">\n...some more lines html...\n</div>';
该示例将换行符替换为 "\n"
,这将被 javascript 解释为换行符。最后,您需要将单引号替换为 "\'"
以确保您不会意外终止字符串。
关于c# - 将 Html.Partial 添加到 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14506499/