我进行了一些ajax调用,以返回一些局部视图,这些脚本在视图中编写时可以正常工作。

脚本代码是

<script type="text/javascript">
$.ajax({
    url: "@(Url.Action("ProjectPartial", "Project"))",
    contentType: 'application/html; charset=utf-8',
    type: 'POST',
    dataType: 'html',
    data: {
        documentType: $('#DocumentType').val(),
        sectionName: $('#SectionName').val()
    }
})
.success(function (result) {
// Display the section contents.
$('#Projects').html(result);
})
.error(function (xhr, status) {
alert(xhr.responseText);
});
</script>


我想做的就是将这些存储在一个名为renderpartial.js的javascript文件中,这样我就可以将ajax调用添加到一个文件中,而不是将它们写入每个视图中。

有人知道这是否可能吗?

香港专业教育学院试图把

<script src="~/Scripts/RenderPartial.js"></script>


在页面顶部,但我得到的只是错误功能。

最佳答案

只要您使用@(Url.Action(之类的嵌入式剃刀语法,就无法将其移至js文件

您可以通过指定以下网址来实现

url: '/Project/ProjectPartial',


或在View.cshtml中

<script type="text/javascript">
var projectUrl="@(Url.Action("ProjectPartial", "Project"))"
</script>


在RenderParial.js中

url: projectUrl,

10-05 20:57
查看更多