在我的Net Core 2.1 MVC项目中,我有一个视图模型参数 userID,我想在页面加载后将其分配给 JQuery 变量。ID 不会显示在页面上的任何位置。到目前为止,这似乎不起作用:

看法:

@{int userID = Model.ID;}
// rest of html page.
@section scripts {
    <script src="~/AssigntoVariable.js"></script>
}

分配给变量.js

$(document).ready(function () {
    $(function () {
        var json = userID;
        console.log(json);
        // removed further code

显然,当我运行此命令时,我收到“用户 ID 未定义”错误。如何将 viewmodel 中的 userID 参数直接放入 JQuery 脚本中?


您可以像在客户端ID一样访问 viewmodel 参数,例如:userID

@section scripts {    
    <script type="text/javascript">
        var userID = @(Html.Raw(Json.Encode(Model.ID))); 

        // You can now access userID here
        console.log(userID);
    </script>
    <script src="~/AssigntoVariable.js"></script>
}

现在您还可以userID通过AssignToVariable.js以下方式访问:

$(document).ready(function () {
   var json = userID;
   console.log(json);
});

请注意,您不需要使用

$(document).ready(function () {
    $(function () {

它们都在AssignToVariable.js文件中,因为$(function () {它只是 的简写$(document).ready(function () {请使用其中之一。