【发布时间】:2015-05-30 15:29:29
【问题描述】:
这是我正在尝试做的视觉效果。
所以基本上这里发生的情况是,您从左侧的选择中选择一个名称,从右侧的选择中选择一个团队,然后单击提交分配并添加一条记录。 (此信息仅供参考,以便您了解上下文。我不需要数据库插入或更新方面的帮助。)
这将是一个带有 ViewModel 的 PartialView。
我需要知道如何使用单独的列表填充这两个下拉列表。我假设这些会出现在 ViewModel 中。
所以在我的主视图中,我使用 RenderAction 调用了 PartialView。
//The action //The controller
@{Html.RenderAction("TeamAssignment", "TeamAssignment");}
被调用的控制器
public class TeamAssignmentController : Controller
{
MyDatabaseEntities db = new MyDatabaseEntities();
[ChildActionOnly]
public ActionResult TeamAssignment()
{
//NEED A VIEW MODEL HERE TO PASS INTO THE PARTIALVIEW
return PartialView();
}
}
在 ViewModel 中,我需要填充两个下拉列表的列表。
Name 左侧的 linq 查询是这样的。
var nameList = (from p in db.Participant
where p.ParticipantType == "I"
select new {
p.ParticipantID,
p.IndividualName
}).ToList();
Team 右侧的 linq 查询是这样的。
var teamList = (from p in db.Participant
where p.ParticipantType == "T"
select new {
p.ParticipantID,
p.TeamName
}).ToList();
如何将该信息传递到 PartialView 以及如何使用 ID 填充下拉列表以显示值和名称以显示文本?
更新
我相信这可能是我需要的 ViewModel。这是正确的吗?
public class TeamAssignmentViewModel
{
//Need these ints for the updating and deleting
public int IndividualParticipantID { get; set; }
public int TeamParticipantID { get; set; }
public List<Participant> NameList { get; set; }
public List<Participant> TeamList { get; set; }
}
【问题讨论】:
-
请显示您的视图。不太确定您要做什么,但我认为您应该使用 js 进行动态更新视图
-
除了对局部视图的调用之外,视图中没有任何相关的内容。
@{Html.RenderAction("TeamAssignment", "TeamAssignment");}忽略更新的东西,我已经控制住了。我只需要知道如何将包含我的视图模型中下拉列表的两个对象从控制器发送到局部视图。 -
你为什么不把模型传给你的
PartialView? -
也可以直接渲染局部视图。
标签: c# asp.net-mvc linq asp.net-mvc-partialview asp.net-mvc-viewmodel