如何在cshtml文件中使用JavaScript变量从模型请求一些东西?(ASP.NET)

本文关键字:请求 NET ASP 模型 文件 cshtml 变量 JavaScript | 更新日期: 2023-09-27 18:10:58

我需要使用JS变量从存储在模型中的数组请求特定的项目。如何做到这一点?

下面是一个代码示例:

function CreateCategoryList() 
    {
        var limit = @(Model.CategoriesCount.ToString());
        for (i=0; i<limit; i++)
        {
            var category = '<div class="CategoryItem">' + '@(Model.CategoryList[i].Name.ToString())' + '</div>';                
            $("#CategoriesPopup").append(category);
        }
        alert($(".CategoryItem:first").text());
    }

我需要访问模型中的第I项。

如何在cshtml文件中使用JavaScript变量从模型请求一些东西?(ASP.NET)

Razor不在客户端执行,因此上面的代码示例无效。

最简单的解决方案是使用序列化将整个数组存储为客户端Javascript变量。我使用Json。

我建议你研究一下哪些是在服务器端执行的,哪些是在客户端执行的。这将有助于你在编写视图时的理解。

function CreateCategoryList() 
{
    var limit = @(Model.CategoriesCount.ToString());
    var clientSideArray = JSON.parse('@(JsonConvert.SerializeObject(Model.CategoryList))');
    for (i=0; i<limit; i++)
    {
        var category = '<div class="CategoryItem">' + clientSideArray[i] + '</div>';                
        $("#CategoriesPopup").append(category);
    }
    alert($(".CategoryItem:first").text());
}