我进行了一些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,