Asp.net mvc 4 Asp.net MVC4在弹出窗口内加载部分视图
我有一个MVC4应用程序的问题,我有一个视图有两个部分视图。 我的主视图在弹出窗口中打开。我的屏幕成功打开,弹出窗口上显示2个部分视图 “我的视图”的上部包含数据输入/编辑(局部视图),底部是显示(局部视图) 显示零件局部视图包含web网格和eac a超链接(编辑和删除)。当用户单击编辑时,应用程序应在同一页面内加载条目/编辑视图 我的应用程序应该在同一窗口上加载条目/编辑部分视图 请建议如何实现这一目标。 请参阅下面我在显示视图中使用的代码 ----------------------------------------------------------第一部分视图---Asp.net mvc 4 Asp.net MVC4在弹出窗口内加载部分视图,asp.net-mvc-4,Asp.net Mvc 4,我有一个MVC4应用程序的问题,我有一个视图有两个部分视图。 我的主视图在弹出窗口中打开。我的屏幕成功打开,弹出窗口上显示2个部分视图 “我的视图”的上部包含数据输入/编辑(局部视图),底部是显示(局部视图) 显示零件局部视图包含web网格和eac a超链接(编辑和删除)。当用户单击编辑时,应用程序应在同一页面内加载条目/编辑视图 我的应用程序应该在同一窗口上加载条目/编辑部分视图 请建议如何实现这一目标。 请参阅下面我在显示视图中使用的代码 --------------------------
@model IEnumerable
@{
var grid=new WebGrid(模型,defaultSort:“TypeCode”,rowsPerPage:10,ajaxUpdateContainerId:“gridContent”);
}
@GetHtml(tableStyle:“table”,mode:WebGridPagerModes.All,
第一个文本:“,
lastText:“Last>>”,
页脚样式:“脚网格”,
柱:
网格.列(
网格栏(“类型代码”,标题:“物业类型代码”),
网格栏(“类型描述”,标题:“物业描述”),
网格栏(“国家”,标题:“国家”),
网格栏(“状态”,标题:“状态”),
grid.Column(“LastModifiedBy”,标题:“LastModifiedBy”),
grid.Column(“LastModifiedOn”,标题:“Modified On”),
grid.Column(“Actions”,“”,@,样式:“width:auto”),
grid.Column(“,”,@,样式:“宽度:自动”)
))
------------------------------
我找到的最好的方法是使用ajax调用加载分部
$(document).on('click', '.btnDisplay', function(){
$.ajax({
type: "POST",
url: '@Url.Action("Action", "Controller")',
data: {
Field1: 'field1',
Field2: 'field2'
}
success: function (result) {
$('.targetDiv').html(result);
}
});
然后在你的控制器上
[HttpPost]
public PartialViewResult Action(string Field1, string Field2){
var model = //populate model from database
return PartialView("_PartialName", model);
}
因此ajax调用将调用控制器并传递您想要的任何参数。然后可以构建模型并返回局部视图。ajax调用成功后,它将获取返回的部分视图,并将它们放入目标视图中(在本例中是一个带有class.targetDiv的div)
[HttpPost]
public PartialViewResult Action(string Field1, string Field2){
var model = //populate model from database
return PartialView("_PartialName", model);
}