Javascript 将模型数据传递到数据表的ajax请求url
我试图将@Model.Id从razor视图传递到javascript,以便将其传递到dataTables ajax url,但我无法将值传递到javascript文件。 在这一点上,即使是正确方向上的一点也会有所帮助 以下是视图:Javascript 将模型数据传递到数据表的ajax请求url,javascript,ajax,datatables,asp.net-core-mvc,razor-pages,Javascript,Ajax,Datatables,Asp.net Core Mvc,Razor Pages,我试图将@Model.Id从razor视图传递到javascript,以便将其传递到dataTables ajax url,但我无法将值传递到javascript文件。 在这一点上,即使是正确方向上的一点也会有所帮助 以下是视图: @model GTravel.Domain.Package @{ var title = Model.Name; } //boring html code @section Scripts{
@model GTravel.Domain.Package
@{
var title = Model.Name;
}
//boring html code
@section Scripts{
<script src="~/js/packageCity.js" data-packageId="@Model.Id"></script>
}
var dataTable;
var url;
$(document).ready(function () {
url = "/admin/packageCity/GetAll/" + packageId.toString();
loadDataTable();
});
function loadDataTable() {
dataTable = $('#tblData').DataTable({
"ajax": {
"url": url,
"type": "GET",
"datatype": "json"
},
"columns": [
{ "data": "city", "width": "10%" },
//more code etc
根据您的方法,您缺少一些关键内容 为确保能够在js文件中准确获取通过数据包id传递的值,您需要向引用js文件的脚本添加id,然后通过在js文件中获取相应id来获取传递的值:
@section Scripts{
<script id="Index.js" src="~/js/packageCity.js" data-packageId="@Model.Id"></script>
}
需要注意的是,通过$VAR获取packageId时,请确保packageId都是小写字母
另一种方法:
您可以在引用js文件之前直接在视图中创建一个变量,然后接受需要传递的值,这样在js文件中,您就可以直接调用该变量来获取需要传递的值
@section Scripts{
<script>
var data = '@Model.Id';
</script>
<script src="~/js/packageCity.js" ></script>
}
@section Scripts{
<script>
var data = '@Model.Id';
</script>
<script src="~/js/packageCity.js" ></script>
}
$(document).ready(function () {
url = "/admin/packageCity/GetAll/" + data;
loadDataTable();
});