J0N*_*ER0 2 asp.net-mvc-3 drop-down-menu
好的,这是我的挑战:我想在我的注册视图中创建一个包含三个字符串的下拉列表 - "请选择","我是客户","我是供应商".当用户选择"我是客户"并提交时,他将被添加到"客户"角色.当用户选择"我是供应商"角色时,他将被添加到"供应商"角色中.如果用户未选择任何一个并离开"请选择"验证发生.
我可以通过ViewBag直接填充角色.方法如下:
Register.cshtml -
<div class="editor-label">
@Html.LabelFor(m => m.Role, "I am a:")
</div>
<div class="editor-field">
@Html.DropDownList("Role", ViewBag.Roles as SelectList,"Please Select")
</div>
Run Code Online (Sandbox Code Playgroud)
AccountModel.cs -
public class RegisterModel
{
[Required]
[Display(Name = "Role")]
public string Role { get; set; }
Run Code Online (Sandbox Code Playgroud)
AccountController.cs -
public ActionResult Register()
{
ViewBag.Roles = new SelectList(Roles.GetAllRoles().ToList());
return View();
Run Code Online (Sandbox Code Playgroud)
我还需要完成的任务 - 目前,下拉列表仅填充实际角色.这不是我想要的.
如何在我的注册视图中创建三个字符串的下拉列表 - "请选择","我是客户"和"我是供应商".
我没有头发留在这一个,并将感谢任何能帮我解决这个问题的人.谢谢.
类似于下面的东西将完美地工作:
public class RegisterModel
{
[Required]
[Display(Name = "Role")]
public string Role { get; set; }
Run Code Online (Sandbox Code Playgroud)
然后你可以在你的视图中找到类似的东西.
@Html.DropDownListFor(x => x.Role, new[] {
new SelectListItem() {Text = "I am a vendor", Value = "Vendor"},
new SelectListItem() {Text = "I am a client", Value = "Client"}
}, "Pick a basket")
Run Code Online (Sandbox Code Playgroud)
编辑:字符串是引用类型,默认情况下可以为空.
| 归档时间: |
|
| 查看次数: |
4216 次 |
| 最近记录: |