我在视图中有一个链接和Combobox:
<p>
@Html.ActionLink("Create New", "CreateArticle")
</p>
@foreach (var item in Model)
{
@Html.DropDownListFor(modelItem => item.TitleIds, new SelectList(ViewBag.TitleNames as System.Collections.IEnumerable, "TitleId", "Title.TitleText"), "No: " + (string) ViewBag.MagNo, new { id = "TitleIds" })
break;
}
我想每当我点击链接“Create New”时,DropDownListFor的选定值都会被传递给Controller“CreateArticle”? 我该怎么做?
答案 0 :(得分:1)
很难理解这个页面的用处。但是让我们试一试。
首先,您需要阅读MVC以及如何创建表单。但是,如果你想传统地发布你的控制器数据(让我们留下aJax)需要一个<form>
标签,这可以使用html帮助器完成,例如。
@using(Html.BeginForm()){
//form contents here
}
接下来,您需要提交表格。这可以通过按钮完成。
@using(Html.BeginForm()){
//form contents here
<button type="submit">submit</button>
}
现在我们对基础知识进行了排序。上面的代码只是将表单提交给当前的控制器操作。要将表单提交给特定的控制器操作,您必须修改BeginForm
帮助程序。如。。
@using (Html.BeginForm("CreateArticle", "Default"))
{
//form contolls here
<button type="submit">submit</button>
})
现在很好,表单会发布到CreateArticle
控制器上的Default
操作。
接下来将是你的对手。现在这就是我的目标,因为你的模型没有多大意义。
@using (Html.BeginForm("CreateArticle", "Default"))
{
//form contolls here
foreach (var item in Model)
{
@Html.DropDownListFor(modelItem => modelItem.TitleIds, new SelectList(ViewBag.TitleNames as System.Collections.IEnumerable, "TitleId", "Title.TitleText"), "No: " + (string)ViewBag.MagNo, new { id = "TitleIds" })
break;
}
<button type="submit">submit</button>
})
从这里开始你自己。我建议阅读使用MVC的基础教程
http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3
答案 1 :(得分:0)
您可以使用ajax发布并使用jQuery点击事件替换@ Html.ActionLink(“Create New”,“CreateArticle”)。
只需将所选值放在帖子URL的参数中即可。