如果我的模型是 MVC3 中的 QueryTable,如何访问 Javascript 中的项目数据?

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

我是 MVC 新手。我发现这个网站非常有帮助。但我一直在努力解决从 Javascript 访问模型数据的问题。这是我的问题。

我知道如果我控制器返回单个项目,那么我可以在

<%: Model.Name%>
部分使用
<script>

但是对于模型中有更多项目的情况,

<%foreach (var item in Model) %>
<script>
中不起作用,即使它在视图的其他部分有效。

有人可以帮我解释一下吗?

还有人可以推荐一本关于 MVC 和 Razor 的好书吗?

javascript asp.net-mvc asp.net-mvc-3
2个回答
0
投票

更多地了解您的

Model
课程将会很有帮助。最有可能的是,您有一门包含某种集合的课程:

public class CollegeCourse
{
    public string Professor {get;set;};
    public List<Student> Students {get;set;};
}

您可以在服务器端代码中循环访问此集合,如下所示:

<% foreach (var student in Model.Students) %>

就 JavaScript 而言...您给出的示例是如何循环遍历

List<T>
并在服务器端构建一些 HTML 的示例。但当您的页面在浏览器中加载时,该模型数据早已消失。

要通过 JavaScript 与模型数据进行交互,您需要选择一种将数据获取到浏览器的策略。一些想法:

  • 在页面加载时将数据转换为 JSON,然后将其写在
    <script>
    标签中。
  • 将数据嵌入 HTML 标签中,可以使用
    data-
    属性。然后您可以使用 jQuery 来检索值。
  • 向控制器添加一个操作,以 JSON 形式返回所需的数据。然后,在页面加载后,您可以使用 jQuery AJAX 调用来检索模型数据并执行您计划对其执行的任何操作。

前两个选项并不是真正被认为是好的做法。我建议您研究一下 AJAX 方法。这是一个快速示例,展示了如何能够做到这一点。这并不太困难,MVC3 甚至有一些内置的帮助器可以使 AJAX 调用的设置变得更简单。

如果您总体上对 ASP.NET 很熟悉,那么 Professional ASP.NET MVC3 是一本让您了解 MVC 和 Razor 的优秀书籍。


0
投票

我是 MVC 新手。我发现这个网站非常有帮助。但我一直在努力解决从 Javascript 访问模型数据的问题。这是我的问题。

我知道如果我控制器返回单个项目,那么我就可以使用。 [url=https://allitreviews.com/home/]日常生活中的人工智能[/url]

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