如何解决bool 值总是被认为是假的,但它在数据库中是真的吗? MVC
我已在我的数据库中将用户(管理员)类型定义为“位”数据类型。因此,如果 value 为 true,则应转到特定页面,否则应返回相同的视图。但是每当我传递具有不同值的对象 (adminObj) 时,if 语句只会从数据库中返回“false”。有人可以帮助问题出在哪里吗?
这是我的逻辑
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar">
<ul class="nav nav-sidebar" id="list">
<li class="active"><a href="#">Overview <span class="sr-only">(current)</span></a></li>
<hr>
<li id="br" data-cc="br">Brazil</li>
<li id="ca" data-cc="ca">Canada</li>
<li id="cn" data-cc="cn">China</li>
<li id="fr" data-cc="fr">France</li>
<li id="de" data-cc="de">Germany</li>
<li id="in" data-cc="in">India</li>
<li id="it" data-cc="it">Italy</li>
<li id="jp" data-cc="jp">Japan</li>
<li id="gb" data-cc="gb">United Kingdom</li>
<li id="us" data-cc="us">United States</li>
</ul>
</div>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<h1 class="page-header">Dashboard</h1>
<div class="container my-3">
<h3>Top News <span class="badge badge-secondary">by Indian shatabdi News</span></h3>
<hr>
<div class="accordion" id="newsAccordion"></div>
</div>
</div>
</div>
</div>
数据库表中的值:
当类型=1
解决方法
好的,我在这里发现了逻辑错误。我正在调用登录对象而不是实际存储获取数据的对象。所以我应该调用 var type=adminvar.Type;
而不是 var type=adminObj.Type;
所以更正后的逻辑是
[HttpPost]
public ActionResult Login(tbl_Admin adminObj)
{
studentDBEntities db = new studentDBEntities();
var adminvar = db.tbl_Admin.Where(x => x.Email == adminObj.Email && x.Password == adminObj.Password).FirstOrDefault();
if (adminvar != null)
{
if (adminvar.Type== true)
{
return RedirectToAction("ListAdmin");
}
else
{
return View();
}
}
else
{
return View();
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。