MVC 4 Ajax请求 - 引用javascript文件

JMB*_*JMB 0 javascript ajax asp.net-mvc jquery

我正在进行一些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>
Run Code Online (Sandbox Code Playgroud)

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

有谁知道这是否可能?

我试过试试

<script src="~/Scripts/RenderPartial.js"></script>
Run Code Online (Sandbox Code Playgroud)

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

Mur*_*san 6

只要您使用内联剃刀语法,就像@(Url.Action(您无法将其移动到js文件一样

您可以在指定url之类的地方执行此操作

url: '/Project/ProjectPartial',
Run Code Online (Sandbox Code Playgroud)

或者在View.cshtml中

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

在RenderParial.js中

url: projectUrl,
Run Code Online (Sandbox Code Playgroud)