C# 如何在Jquery函数中使用@Html.PartialView(";XXX";)?

C# 如何在Jquery函数中使用@Html.PartialView(";XXX";)?,c#,javascript,jquery,html,razor,C#,Javascript,Jquery,Html,Razor,我有一个用原始HTML更新div的函数。但是,原始HTML位于另一个.CSHTML文档中 我的职能是: function Demo(){ $('#ContainerDiv').html('@Html.Partial("MyPartialView")'); } 出于某种原因,每当我在函数中包含我的部分视图时,我的控制台就会显示它无法定位文档 只要我删除@Html.PartialView(“MyPartialView”)并将其包含在文档正文中,它就可以正常加载 有没有关于为什么这样做行不通的想法,

我有一个用原始HTML更新div的函数。但是,原始HTML位于另一个.CSHTML文档中

我的职能是:

function Demo(){
$('#ContainerDiv').html('@Html.Partial("MyPartialView")');
}
出于某种原因,每当我在函数中包含我的部分视图时,我的控制台就会显示它无法定位文档

只要我删除@Html.PartialView(“MyPartialView”)并将其包含在文档正文中,它就可以正常加载

有没有关于为什么这样做行不通的想法,或者更好的方法

谢谢,
标记

您的局部视图可能包含换行符,这会导致多行字符串文本,在js中无效。我看到两个选项:加载页面时在隐藏的div中呈现部分视图,并在需要时将其移动到
#ContainerDiv
,或者稍后使用ajax获取内容。

您可以调用一个操作,然后用生成的HTML填充容器

例如:

行动:

public PartialViewResult GetPartial() {
    return PartialView("MyPartialView");
}
JQuery:

$.get('@Url.Action("GetPartial")').done(function(response){
    $('#ContainerDiv').html(response)
}

我一直使用
.load()
和部分视图的url。像这样:

function Demo(){
$('#ContainerDiv').load('@Html.Raw(Url.Action("MyPartialView"))');
}

编辑:忘记将
.html()
更改为
.load()

您正在尝试将ASP.NET部分视图的内容呈现到另一个div中,对吗?是的,这是正确的。啊,这很有意义!不仅仅是换行符,还有各种其他未换行(和未编码)字符。想象一下,将控制台输出块复制回C代码中的字符串文字。这不管用。这是一个小的局部视图,它实际上很干净,但那里肯定有断线……我会给你答案,让我告诉你