【发布时间】:2026-01-24 11:15:02
【问题描述】:
在我的 MVC Web 应用程序中,我需要创建一个带有部分视图(包含 webgrid)的弹出窗口, 问题是部分视图数据没有显示在对话框上,我只看到标题。看来我的控制器调用也有问题,请注意我使用了动态模型创建,因为模型是在控制器中动态创建的,而不是现有模型,不知道如何使用这种类型的模型。谢谢你的帮助, 这是我的代码: 这是剃刀视图中的按钮: 这个 jQuery 代码:
$(document).ready(function () {
$("#GetEmp").click(function (event) {
$("#popup").dialog({
width: 200,
hight: 400,
title: 'please select an employee',
modal: true,
open: function (event, ui) {
$(this).load("@Url.Action("Travel", "GetEmployee")");
}
});
});
});
这是控制器代码:
public class Employee
{
public string EmpName;
public string EmpPhone;
public string EmpNum;
}
[HttpPost]
public ActionResult GetEmployee()
{
List<Employee> Emp = new List<Employee>
{
new Employee { EmpName= "ScottGu", EmpPhone = "23232323", EmpNum="242342"},
new Employee { EmpName = "Scott Hanselman", EmpPhone = "3435353", EmpNum="34535"},
new Employee { EmpName = "Jon Galloway", EmpPhone = "4534535345345",
EmpNum="345353"}
};
return PartialView("_EmpPartial", Emp );
}
这是员工部分视图:请注意,我在模型中使用动态,因为模型是动态创建的。
@model dynamic
<ul>
@foreach (var emp in Model) {
<li>
@emp.EmpName
</li>
}
</ul>
您好,感谢您的快速响应,我试过了,删除 [HttpPost] 并将@foreach 更改为@foreach(模型中的var emp 作为列表), 但编译时没有带有红色下划线。我必须在我的局部视图中保持@model 动态吗?
【问题讨论】:
标签: c# jquery asp.net-mvc asp.net-mvc-4 razor