Asp.net mvc ASP.NET MVC-在控件中获取下拉选择时遇到问题
一旦用户选择了一个值并通过视图提交,我就无法从控制器中访问用户的下拉选择。Asp.net mvc ASP.NET MVC-在控件中获取下拉选择时遇到问题,asp.net-mvc,Asp.net Mvc,一旦用户选择了一个值并通过视图提交,我就无法从控制器中访问用户的下拉选择。 下拉菜单正在正确填充,我已经编写了一个简单的JavaScript函数,在选择发生更改时向用户发出警告。通过警报,我看到RoleID值。我似乎无法在控制器中访问它。请看下面我的代码和帮助!先谢谢你 型号: public class dbModels public class UserAccessRequestViewModel { dbEntities _dbEntities = new d
下拉菜单正在正确填充,我已经编写了一个简单的JavaScript函数,在选择发生更改时向用户发出警告。通过警报,我看到RoleID值。我似乎无法在控制器中访问它。请看下面我的代码和帮助!先谢谢你 型号:
public class dbModels
public class UserAccessRequestViewModel
{
dbEntities _dbEntities = new dbEntities();
public IEnumerable<ActiveRoles> Roles { get; set}
public Guid selectedRoleID { get; set:}
public class ActiveRoles
{
public Guid RoleID { get; set; }
public string RoleName { get; set; }
}
public List<ActiveRoles> GetActiveRoles()
{
var ActiveRoles = dbEntities.LU_ROLE.Where(x => x.ACTIVE)
.Select (x => new ActiveRoles { RoleID = x.ROLE_ID, RoleName = x.ROLE_NAME }).ToArray();
return activeRoles.ToList();
}
}
选择输入应该是表单的一部分
<div class="form-actions no-color" style="margin:4px; padding:4px">
@using (Html.BeginForm("Approve", "UserAccessRequestManagement", FormMethod.Post))
{
<div class="text-left" style="margin:4px; padding:4px">
<h2>Assign Role</h2>
@Html.DropDownList(model => model.selectedRoleID, new SelectList(Model.Roles, "RoleID", "RoleName"), new { @onchange = getUserRoleID(this)" })
</div>
<input type="submit" value="Approve" class="btn btn-default" />
}
@Html.ActionLink("Back to List", "Index")
</div>
或者,如果您只想在POST操作中使用选定的guid,请将其设置为
public class UserAccessRequestManagementController : Controller
dbModels.UserAccessRequestViewModel _UserAccessRequestViewModel = new dbModels.UserAccessRequestViewModel();
[HttpPost, ActionName("Approve")]
public ActionResult Approve(UserAccessRequestViewModel model)
{
Guid RoleID = model.selectedRoleID;
}
[HttpPost, ActionName("Approve")]
public ActionResult Approve(Guid selectedRoleID)
{
Guid RoleID = selectedRoleID
}
我已经做了建议的修改,包括整个模型,它对roleID非常有效。我对答案投了赞成票,但由于我的声誉不足15(我是一个新用户),所以它没有公开显示。在通过整个模型之前,我传递了UserRequestID,所以我现在正在尝试找到传递该值的最佳方式。我想我可能需要创建一个@Html.HiddenFor,并将UserRequestID放入模型中。我已经使用了该解决方案并在此基础上构建了它。一切都很顺利。非常感谢你!
public class UserAccessRequestManagementController : Controller
dbModels.UserAccessRequestViewModel _UserAccessRequestViewModel = new dbModels.UserAccessRequestViewModel();
[HttpPost, ActionName("Approve")]
public ActionResult Approve(UserAccessRequestViewModel model)
{
Guid RoleID = model.selectedRoleID;
}
[HttpPost, ActionName("Approve")]
public ActionResult Approve(Guid selectedRoleID)
{
Guid RoleID = selectedRoleID
}