Javascript中的Html.Partial

Javascript中的Html.Partial,javascript,jquery,asp.net-mvc,razor,kendo-ui,Javascript,Jquery,Asp.net Mvc,Razor,Kendo Ui,我试图在javascript代码中呈现部分视图。部分视图本身也包含JS代码,它是一个剑道窗口 这是我的代码,建议进行以下更改: 但此代码在我的页面中呈现字符串: jQuery(function(){jQuery(#7067ea1a-0425-44a6-99d3-aefb37f088ed”).kendoWindow({“model”:false,“iframe”:false,“draggable”:true,“scrollable”:true,“pinted”:false,“title”:null

我试图在javascript代码中呈现部分视图。部分视图本身也包含JS代码,它是一个剑道窗口

这是我的代码,建议进行以下更改:

但此代码在我的页面中呈现字符串:

jQuery(function(){jQuery(#7067ea1a-0425-44a6-99d3-aefb37f088ed”).kendoWindow({“model”:false,“iframe”:false,“draggable”:true,“scrollable”:true,“pinted”:false,“title”:null,“resizable”:true,“content”:null,“actions”:[“Close”,“Minimize”,“Refresh”];})

最后,这是我的部分观点:

@{
    var winId = Guid.NewGuid().ToString();
}

@(Html.Kendo().Window()
    .Name(winId)
    .Draggable()
    .Resizable()
    .Actions(actions => actions.Close().Minimize().Refresh())
)

问题是MVC阻止您将原始HTML注入响应流

您可以通过引入@Html.Raw()来修改代码,告诉MVC您希望它注入原始Html


好吧,这行很好用:

$('.body-content').load('/Home/win?window='.concat(text));

win
操作将返回部分视图。

将ToString()替换为ToHtmlString()。我以前尝试过,结果是一样的。感谢Chintana,现在我得到了
预期的“;”错误。这是win:
var-win=“jQuery(function(){jQuery(#f7be8297-92a2-4aef-936b-4b531de497b4”)。kendoWindow({“model”:false,“iframe”:false,“draggable”:true,“scrollable”:true,“pinted”:false,“title”:null,“resizable”:true,“content”:null,“actions”:[“Close”,“Minimize”,“Refresh”]});”这是我的当前行:
var win=“@Html.Raw(@Html.Partial(“_GenericWindow”).ToHtmlString().Replace(Environment.NewLine)”此外,如果您能指导我获取窗口的句柄,我将非常感激。这可能是由于服务器端代码出错所致。您可以通过用一条简单的html消息替换_GenericWindow中的所有代码来测试这一点,并查看Renders在这种情况下是否需要使用ajax来调用局部视图
var win = "@Html.Raw(@Html.Partial("_GenericWindow").ToString().Replace(Environment.NewLine, "").Replace(" ", ""))";

$(".body-content").append(win);
$('.body-content').load('/Home/win?window='.concat(text));