【发布时间】:2014-09-09 16:45:34
【问题描述】:
我有一个模型列表。我想检索 listBoxSelectedValue 以将其发送到我的 actionLink 中以进行编辑。
这是我的看法:
@using (Html.BeginForm())
{
@Html.ListBoxFor(a => a.SelectedApplis, new SelectList(ViewBag.Applis,"ID","Name", Model.SelectedApplis))<br/>
@Html.ActionLink("Add","Create","Application")<br/>
@Html.ActionLink("Edit","Edit","Application", null, new { listAppId = Model.SelectedApplis})<br/>
@Html.ActionLink("Delete","Delete","Application")<br/>
}
我用 List 创建了一个类“ListBoxApplication”,其中包含 ListBox 的 selectedValue。
public class ListBoxApplication
{
public IEnumerable<int> SelectedApplis { get; set; }
public ListBoxApplication()
{
SelectedApplis = new List<int>();
}
}
我有 2 个控制器:应用程序和主页
在 HomeController 中,我创建了包含列表的模型 ListBoxApplication。在我的 ViewBag.Applis 中,我拥有所有的 ApplicationModel。
public ActionResult Index()
{
ListBoxApplication listeApplis = new ListBoxApplication();
ViewBag.Applis = ApplicationModels.GetListApplications();
return View(listeApplis);
}
在我的 ApplicationController 中:
public ActionResult Edit(ListBoxApplication listAppId)
{
// I WANT TO RETRIEVE MY listAppId HERE, but it is always 'null'
return View();
}
所以我认为我的问题出在 actionLink 中:
@Html.ActionLink("Edit","Edit","Application", null, new { listAppId = Model.SelectedApplis})
Me Edit Method 不是实际的控制者(Home/Index)。我需要将我的 actionLink 中的 ListBox 的 selectedValue 发送到(应用程序/编辑)。
listAppId 始终为“空”。它没有检索到值...我的 actionLink 有错误吗?
感谢提前
【问题讨论】:
-
从您发布的代码看来,ApplicationModels.GetListApplications() 正在返回 null。
-
我填写了我的应用程序列表。它们显示在我的列表框中。所以 GetListApplications() 正在运行。
-
所以 Edit 需要一个 ListBoxApplication 并且您正在发送一个 IEnumerable?这就是我所看到的吗?
-
抱歉,我之前正在测试输入,但忘记在我的帖子中更改它...我的编辑方法需要一个 IEnumerable。
标签: asp.net-mvc-4 razor selectedvalue html.actionlink html.listboxfor