【发布时间】:2018-05-22 17:36:21
【问题描述】:
当我点击编辑按钮时。下拉值未出现,但ViewBag.DomainID 值存在但未显示。它显示The specified cast from a materialized 'System.Int64' type to the 'System.Int32' type is not valid.
控制器:
[Authorize]
[MyExceptionHandler]
public ActionResult EditModules(int id)
{
EditDomain_Bind();
userType type = new userType();
var ModID = type.GetEditRoleModulesViews(id).Find(Emp => Emp.ModuleID == id);
int domainID = ModID.DomainID;
AccountContext db = new AccountContext();
string selected = (from sub in db.domain
where sub.DomainID == domainID
select sub.DomainName).First();
ViewBag.DomainID = new SelectList(db.domain, "DomainID", "DomainName", selected);
return View(ModID);
}
Cs.HTML:
<div class="col-lg-4">
<fieldset class="form-group">
<label class="form-label" for="exampleInput">Domain Name</label>
@Html.DropDownList("DomainID")
@Html.ValidationMessageFor(model => Model.DomainID, null, new { @style = "color: red" })
</fieldset>
</div>
型号:
public DbSet<Domain> domain { get; set; }
public class Domain
{
[Key]
public int DomainID { get; set; }
public string DomainName { get; set; }
}
【问题讨论】:
-
你db的数据类型和你的模型一样吗?
-
@PranayRana 检查我的照片
-
@mjwills ibb.co/kpp35G 查一下
-
值存在于字符串 Selected @mjwills
-
ibb.co/fSifkG@mjwills
标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-3