我想在我的表单中添加一个下拉列表,其中有2个值userid
和username
位于我的下拉列表中,并且我希望在单击按钮时获取用户选择的值。我是MVC的新手,到目前为止,我还没有在dropdownlist上工作,尝试过几个样本,但似乎没有任何工作方式符合我的要求。如何在MVC3中添加下拉值?
回答
我会跳过大量的MVC3概念。如果你真的不熟悉ASP.NET MVC,你应该看看一些tutorials。
此代码应帮助您:
VIEW
@using (Html.BeginForm("ACTION NAME", "CONTROLLER NAME"))
{
<select name="select">
<option value="username" selected>User name</option>
<option value="userid">User id</option>
</select>
<input type="submit" />
}
ACTION
[HttpPost]
public ActionResult ACTIONNAME(string select)
{
//...
}
请注意:
ACTION NAME
和CONTROLLER NAME
在BeginForm
帮手。您将不得不在您的代码修改此select
名称(“选择”)和动作(“选择”)的参数的名称。这不是巧合,而是一个惯例。 MVC使用name
ATTR将数据绑定- 在选项
selected
属性将使其成为默认选项
问候
这里的下拉菜单在哪里? @ html.dropdownlist? – 2012-07-30 05:43:44
@alwaysv我*不*使用HTML助手(比如'@ Html.DropDownList')来确保您明白MVC是关于标记的,并且您可以自由地按自己的方式编写它。此外,你没有说你想用它的HTML帮手=) – 2012-07-30 05:46:20
是的,非常感谢,这工作正常,它的简单,请你告诉我如何得到选定的价值?,让我清楚,我需要为我的actionresult获取选定的值,基于这个我将执行一些数据库操作 – 2012-07-30 05:46:42
见你可以做的办法之一是在模型发送列表财产的结合和值,你可以把它绑定到像另一个特性:
public class YourModel
{
public List<UserList> OptionList { get; set; }
public String YourValue{get;set;}
}
public class UserList
{
public String UserName{get;set;}
public String UserId{get;set;}
}
@Html.DropDownListFor(model => model.YourValue, Model.OptionList, "")
在帮助有overided这是用来指定的值和文本选项。
并记住:
这是StackOverflow。 即使你尝试过的不工作的例子对那些试图帮助你的人来说也很重要,因为他们正在为你花费他们宝贵的带宽。
你并不需要创建一个新的模型类为每个视图,只是把这个控制器上:
ViewBag.FieldName = new SelectList(new List<SelectListItem>() {
new SelectListItem { Value = "userid", Text = "User ID" },
new SelectListItem { Value = "username", Text = "User name" }
});
这对观点:
@Html.DropDownList("FieldName")
您需要创建一个SelectListItem的集合,如:
IEnumerable<SelectListItem> selectList = from c in areaListResponse.Item select new SelectListItem { Text = c.AreaName, Value = c.Id.ToString() };
通过这次的SelectList到您的视图:
return View(selectList);
在你CSHTML:
@model IEnumerable<SelectListItem> @Html.DropDownListFor(m => m.RequestAreaName, Model)
如果需要complecated对象,你可能需要一个包装类,如:
public class RaiseRequestModelWrapper { public IEnumerable<SelectListItem> GetModel { get; set; } public RaiseRequestModel PostModel { get; set; } }
- 1. 如何将虚拟值添加到MVC3中的下拉列表中
- 2. 如何在下拉菜单中添加选项值/默认下拉值
- 3. 如何添加下拉列表到我的MVC3应用程序
- 4. 如何在java脚本中的下拉列表中添加值
- 5. 如何在mvc3中使用jquery ajax处理默认下拉值?
- 6. 如何添加nofollow下拉
- 7. 动态添加下拉值
- 8. 添加下拉值动态
- 9. 如何使用java servlet在下拉列表中添加值
- 10. 如何在下拉列表中添加值的jQuery
- 11. 如何将下拉框中的值添加到Mysql查询中?
- 12. 添加到一个下拉列表中MVC3
- 13. 如何在mvc3中添加复选框?
- 14. 如何在MVC3中将WebGrid添加列
- 15. 如何添加/删除下拉列表中使用jQuery的值
- 16. 如何向Rails中的collection_select(下拉列表)添加/删除值?
- 17. 如何将新值添加到Rails的下拉列表中
- 18. MVC3 ASP.NET;如何在输入中添加值[type =“text”]?
- 19. 验证下拉在MVC3
- 20. MVC3下拉列表
- 21. 下拉列表 - MVC3
- 22. MVC3:如何验证下拉列表?
- 23. 下拉列表值无法与MVC3 C#
- 24. 基于其他下拉显示值MVC3下拉选择
- 25. 如何添加下拉式子菜单
- 26. 如何添加coutry下拉使用openUI5
- 27. 如何添加下拉列表框
- 28. 如何添加下拉菜单图标?
- 29. 如何动态添加下拉列表
- 30. 如何添加下拉列表detailview asp.net
那么,它不会是一个下拉列表,而是一个'
看看这里,有一个类似的例子http://stackoverflow.com/questions/10649081/howcome-i-populate-selectlist-with-list-of-categories – lexeme 2012-07-30 05:33:13
告诉我们没有工作的样本,你会知道在哪里你错了! ! – V4Vendetta 2012-07-30 05:33:28