【发布时间】:2018-08-06 10:07:33
【问题描述】:
我相信很多人都有这个问题,但是我在网上搜索后没有得到任何结果,所以或者搜索关键字不同。
我正在开发一个新的 asp.net mvc web 应用程序,在该应用程序中,我得到了控制器上的 index 操作方法返回的纯模板。稍后在 document.ready 事件处理程序中,我动态构建 ui 并将 dom 元素附加到空白模板,这样就可以正常工作。我的问题是我需要在这里调用 2 个服务器,
1) 从索引操作方法中获取视图
2) 在 document.ready{} 中调用 ajax 来获取我用来构建 ui 的数据。
我想知道是否有任何方法可以将索引操作方法中的数据与空白模板视图一起传回,并使用这些数据在 document.ready 事件处理程序中创建 ui。这会将额外的一次点击保存到服务器。
不使用局部视图的原因是
1) 我们已经在 jquery 中开发了一些功能,并且
2) 在我的组织中,人们认为使用 razor 和局部视图制作功能不会那么灵活,例如在 js 中构建和提升 customevent 是一个很棒的功能,它有助于保持功能与其他功能的松散耦合。 (如有错误请指正)
编辑:我认为一个例子会更好地解释这一点,
假设我需要创建一个用户列表,但整个列表及其复选框选择等功能是由 js 模块构建的。因此,除了空白视图,我还想传递“用户”对象,该对象目前是我的模型中的一个类。
请推荐。
【问题讨论】:
-
您的索引文件是否已有模型?将必要的数据放入模型中似乎是显而易见的事情……这就是 MVC 模型的用途。不确定你是否真的需要 Partial 视图,除非你想在另一个视图的其他地方重复使用相同的演示文稿
-
是的,我确实有一个模型类,我传递给视图,但是我如何在客户端传递或访问这些数据,jquery 可以使用这些数据来构建用户界面?因为我认为 return view() 只返回 htlm。对不起,如果这是微不足道的,就从这个开始。
-
确实如此,但是在构建 HTML 期间,您的视图代码会运行 - 因此您可以访问 Razor 代码中的模型值,您可以使用这些值来构建您的视图并影响最终的 HTML。如果您不理解这一点,请参阅 Microsoft 提供的 MVC 入门教程,它向您展示了此类事物的基本示例。同样,它是 MVC 框架的基础之一,使其有用。
-
谢谢!我去查一下。
-
哦,对不起,我明白你的意思,但就像我在查询中提到的那样,我们没有使用剃须刀,而是使用 jquery 在客户端构建 ui,所以使用 razor 构建 html 不是一个选项,因为这里的固有设计。希望能解决这个问题。
标签: asp.net model-view-controller actionresult