加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 什么时候使用Html.Action通过Html.Partial

发布时间:2020-12-15 17:44:39 所属栏目:百科 来源:网络整理
导读:我仍然没有得到html.Action的主要目的在asp.net mvc.我一直在使用 Html.Partial,每次我需要加载部分视图或想要分割一些视图中的代码来清理它. Html.Action在哪里适合所有这些(例如,您希望使用Html.Action并且不使用Html.Partial)? 编辑 答案似乎是使用Html.
我仍然没有得到html.Action的主要目的在asp.net mvc.我一直在使用 Html.Partial,每次我需要加载部分视图或想要分割一些视图中的代码来清理它.

Html.Action在哪里适合所有这些(例如,您希望使用Html.Action并且不使用Html.Partial)?

编辑

答案似乎是使用Html.Action的动态数据.我没有得到这个,因为你也可以使用动态数据的部分视图.

例如,如果我的网站上的用户编辑了一行.一个ajax调用是一个方法,我从数据库抓住那一行.然后我返回一个表格的对齐视图,其中有所有数据准备好进行编辑.如果发生错误,那么我返回一个使用错误方法的json结果,我的javascript消耗它并提醒用户.

如果一切都很好,那么渲染的html将被放入一个jQuery对话框中并显示给用户.

是因为您可以使用“ChildActionOnlyAttribute”,使人们使用Action吗?

解决方法

安库尔有正确的想法,但我发现你可以进一步简化这个概念.

对我来说,归结于什么与如何

如果你知道你想要渲染什么,但不知道它可能如何,那么你将使用partial来确定如何渲染信息.
例如,您的视图模型可能是发票.您的发票视图模型可能已经具有您需要的所有有关发票本身的信息,包括发票上可能列出的订单项.部分可能是订单项的一个不错的选择,因此它是自包含的.你已经有了行项目的详细信息(什么),但是部分将会处理它如何呈现(如何)

另一方面,也许您的发票视图模型中有客户ID,但没有实际的客户详细信息.在这里你没有什么,所以你将客户ID传递给一个Action,它会得到它需要的数据,并将其传递给视图,以呈现如何合适.

所以总结如果你已经拥有了你想要处理的所有数据,只要坚持使用Partial,但是如果你缺少需要获取的信息,Action会更好.

当边界视图包含通过Ajax(或其他技术)检索自己的数据的能力时,边缘的真正模糊就是这样.在这种情况下,您可能可以在我的示例中部分使用“客户”详细信息部分,并使其获取需要的数据在客户端得到响应后使用Ajax.但是,如果这样的事情对于您的实现也是有意义的,那么更适用于您.

附录:
值得注意的是,如果您决定尝试使用ASP.NET MVC Core,则ChildActions不再可用.在这种情况下,您的选择将仅限于部分视图,ajax或新引入的Components功能.最后一个类似于ChildActions,但实现方式略有不同.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读