Javascript 将模型数据传递到数据表的ajax请求url

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.Id从razor视图传递到javascript,以便将其传递到dataTables ajax url,但我无法将值传递到javascript文件。 在这一点上,即使是正确方向上的一点也会有所帮助

以下是视图:

    @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();
    });