ajax 请求的 json 中的 viewmodel 参数

viewmodel parameter into json for ajax request

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

查看:

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

AssignToVariable.js

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

当我 运行 执行此操作时,显然收到 'UserID not defined' 错误。 如何将我的视图模型中的 userID 参数直接放入 JQuery 脚本中?

您可以在客户端以 userID 的形式访问视图模型参数 ID,例如:

@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>
}

现在您还可以在 AssignToVariable.js 中访问 userID,例如:

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

请注意,您不需要使用

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

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