enumdropdownlist
仅用于字符串而不是整数。
我想在视图中显示dropdown
中的管理员管理。
如果用户选择admin的admin后台值为1,则发送给模型 如果用户选择manage的管理后台值为2,则发送给模型。
enumdropdownlist
附带的字符串不是整数。
我想要带有整数的模型 希望任何人都能理解。
看到这是我的模特
public class tbl_Login
{
public string userid { get; set; }
public string pass { get; set; }
public string Phone { get; set; }
public roles userrole { get; set; }
}
public enum roles
{
Management,
Admin
}
这是我的观点。
@using (Html.BeginForm("Login", "Account", FormMethod.Post))
{
<div class="form-group has-feedback">
@Html.EnumDropDownListFor(Model => Model.userrole,"Select",new { @class =
"form-control" })
<span class="glyphicon glyphicon-user form-control-feedback"></span>
</div>
<div class="col-xs-4">
<input type="submit" value="Sign In" class="btn btn-primary btn-block btn-
flat" />
</div>
}
代替asp.net代码
<select class="form-control">
<option>--Select--</option>
<option>Admin</option>
<option>Management</option>
</select>
最后这是我的控制器。
// I want this controller with log come with value i.e admin=1 or management=2.
public ActionResult Login(tbl_Login log)
{
string uri = Request.Url.AbsoluteUri;
SqlConnection con = new SqlConnection(constring);
SqlDataAdapter adp = new SqlDataAdapter();
if (log.userrole == 'Admin')
{
...
}
return View();
}
我想在控制器中进行比较
if(log.userrole==1)
{
}
答案 0 :(得分:0)
编辑:
在您的控制器中,您可以执行以下操作:
if ((int)role == 1)
{
// your logic here ...
}
有关枚举以及如何使用它们的一些信息:
像这样将整数值投射到枚举中:
roles role = (roles)yourIntValue;
或者这样
roles role= (roles)Enum.ToObject(typeof(roles) , yourIntValue);
您可以从字符串中按照以下方式进行操作:
roles role= (roles) Enum.Parse(typeof(roles), yourStringValue);