将viewmodel参数放入ajax请求的json中

问题描述 投票:0回答:1

在我的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”错误。如何将我的viewmodel中的userID参数直接放在JQuery脚本中?

c# jquery razor asp.net-core-2.1
1个回答
1
投票

您可以像在客户端那样以ID的形式访问视图模型参数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 () {的简写。请使用其中之一。

© www.soinside.com 2019 - 2024. All rights reserved.