Asp.net mvc 4 使用AJAX调用不同模型的MVC4局部视图

Asp.net mvc 4 使用AJAX调用不同模型的MVC4局部视图,asp.net-mvc-4,Asp.net Mvc 4,我想解决一个问题。我是MVC新手,试图了解模型是如何工作的。我得到了主页和主模型的东西,如果你想显示一个局部视图,你显示的数据必须是主模型的一部分。这使得主模型非常大,这不需要我提交整个模型来获得局部视图吗?在任何情况下,假设我有一个列表,其中一列是链接。此链接调用AJAX方法以获取更多数据并在jQuery对话框中显示-我的目标。所以我会接到这样的电话: function showDetails(id) { $("#divShowDetails").load('@(Url.Actio

我想解决一个问题。我是MVC新手,试图了解模型是如何工作的。我得到了主页和主模型的东西,如果你想显示一个局部视图,你显示的数据必须是主模型的一部分。这使得主模型非常大,这不需要我提交整个模型来获得局部视图吗?在任何情况下,假设我有一个列表,其中一列是链接。此链接调用AJAX方法以获取更多数据并在jQuery对话框中显示-我的目标。所以我会接到这样的电话:

 function showDetails(id) {
     $("#divShowDetails").load('@(Url.Action("GetDetails", "Home", null, Request.Url.Scheme))?Id= ' + id);
  }
我的视图类似于“\u DetailsView.cshtml”,定义为局部视图。此页面是否需要在主页中定义模型,或者它可以是不同的模型,也可以根本不定义模型?我可以从控制器方法返回ViewData,弹出打开对话框并用数据填充它吗

控制器方法应该返回PartialViewResult还是只返回ActionResult?假设details视图是一个零件号或其他东西的详细信息,我想显示该零件的一组数据元素。这必须给我一个模型吗?我很困惑,任何帮助都将不胜感激

谢谢各位。您是否仍在使用常见的:

 [HttpGet]
 public PartialViewResult SelectedItem (string itemId)
 {
     // gather data for the item
     return PartialView(itemModel);
  }

您是说itemModel不必是item list模型的一部分吗?

如果使用ajax调用,则不需要通过主模型发送部分模型。以这里的问题为例,局部can视图可以包含任何类型的模型,无论该模型在主视图中是什么。这是使用局部视图的许多优点之一,您可以在任何页面上呈现所需的任何模型