我有一个视图,它是PartialView的容器。假设一个Customer - Orders关系。视图应该收到CustomerViewModel
而部分视图是订单的集合,例如IEnumerable<OrderViewModel>
。使用jQuery .load()和no Razor加载局部视图
我基本上有两种方法来做到这一点(更不用说Angular了),无论是Razor还是jQuery。随着剃刀是非常简单的利用@Html.Partial("_CustomerOrdersPartial", Model.Orders)
。但是让我们假设我不能使用Razor语法,这里是我最终发布这个问题的方式。我已经阅读了许多关于此事的帖子,但其中大多数(不提全部)建议使用$("#container").load('@Url.Action("ActionName", new { parameterX = valueY }))
。那么这里是我的问题:
- 为什么要混合使用Razor和jQuery?
- 这是唯一的方法吗?
- 有什么方法可以调用视图并传递模型?
最后一个问题与上面的代码需要在服务器端的一个动作被称为事实做,而上面提到的将只是调用View(客户端)和发送@Html.Partial("_CustomerOrdersPartial", Model.Orders)
给定型号英寸
任何想法如何解决这将是非常有益的。
在此先感谢您的时间和想法。
因为使用'@ Url.Action()'将始终确保您的url正确生成。 –
'@ Url.Action'本身是一个Razor语法,它根据控制器和操作方法生成URL。请记住,从回调中创建的部分视图无需刷新整个页面。 –
斯蒂芬说的正是如此。您的URL由MVC路由基础结构维护。其主要目的之一是确保如果您稍后要更改URL,应用程序中只有1个位置需要更改。使用'@ Url.Action'确保URL从路由中生成,而不是在视图中被硬编码。 – NightOwl888