我有以下ViewResult()
填充模型(持有两个下拉列表),然后发送到强类型的视图()。 通知我如何添加一个新的“ALL --- VIEW ---“与标识两个下拉列表值是一个Guid.Empty.
如何检查客户端下拉的Guid.Empty ID
[HttpGet]
public ViewResult ManageUsers()
{
var applicationList = _facade.Value.GetApplications().OrderBy(a => a.Name).ToList();
applicationList.Add(new Application() { Id = Guid.Empty, Name = "---VIEW ALL---" });
var roleList = _facade.Value.GetRoles(applicationList.First().Id).OrderBy(a => a.Name).ToList();
roleList.Add(new Role() { Id = Guid.Empty, Name = "---VIEW ALL---" });
var model = new ManageUsersModel();
model.ApplicationList = new SelectList(applicationList, "Id", "Name", applicationList.First().Id);
model.RoleList = new SelectList(roleList, "Id", "Name");
return View(model);
}
一旦视图()内我创建一个jquery .change()
事件第一个下拉列表,我希望检测选定的值。
根据选定的值,我需要采取不同的行动。例如,如果选择了Guid.Empty
值,那么做到这一点......如果没有,那么到...
到目前为止,我有在.change()事件中的代码看起来是这样的:
$('#ApplicationId').change(function() {
if ($(this).val() === "00000000-0000-0000-0000-000000000000") {
alert("aaa");
}
else {
alert("xxx");
}
});
代码工作但我发现它丑陋检查Guid.Empty
我这样做的方式。
有没有人有不同的/更好的方法来实现这一目标?
在此先感谢!
真诚 Vlince
PS:由于这是一个多语言的应用程序,我无法使用下拉式的selected text
为IF(...)进行比较。
不幸的是,Model.ApplicationList和Model.RoleList不作为类型列表<>也IEnumerable的。它们被输入为SelectList。也许我需要改变两种属性的类型,以实现你所展示的内容。我会去改变。我喜欢你的答案,简单而聪明!谢谢。 – Vlince 2013-04-11 16:01:14