bootstrap adminlte教程11:打造内部邮件系统 -显示未读邮件数量
这最后二个功能了。
一是在登录用户后,显示有多少未阅的邮件。必境邮件是点到点,需要提示。
二是在用户打开邮件查看内容的时候,更改其中的emailstate为1。
1.在home控制器的index方法
//读取未读邮件的条数
int emalilist = (db.Emails.Where(c => c.EmailState == "0" && c.ReceiveUser == user.UserName)).Count();
Session["emalcount"] = emalilist.ToString();
然后更改L和admin布局
<!-- Navbar Right Menu --> <div class="navbar-custom-menu"> <ul class="nav navbar-nav"> <!-- Messages: style can be found in dropdown.less--> <li class="dropdown messages-menu"> <!-- Menu toggle button --> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-envelope-o"></i> <span class="label label-success">@Session["emalcount"]</span> </a> <ul class="dropdown-menu"> <li class="header">你有 <span class="label label-primary">@Session["emalcount"] </span> 未读邮件</li> <li> <!-- inner menu: contains the messages --> <ul class="menu"> <li><a href="~/Emails/Index"><i class="fa fa-inbox"></i> 收件箱</a></li> <li><a href="~/Emails/SeedIndex"><i class="fa fa-envelope-o"></i> 已发邮箱</a></li> <li><a href="~/Emails/Create"><i class="fa fa-file-text-o"></i> 发邮件</a></li> <!-- end message --> </ul> <!-- /.menu --> </li> <li class="footer">welcome for you!</li> </ul> </li>
3,看效果


5.更改Emails控制器的index方法,加上写入的
//默认情况下是只显示未阅读的。同时按creattime降序 string myusername = Session["username"].ToString(); var emalilist = db.Emails.Where(c => c.EmailState == "0"&&c.ReceiveUser== myusername).OrderByDescending(z => z.CreatTime); Session["emalcount"] = (emalilist.Count()).ToString();
6.修改index方法
<div class="box-body no-padding" style="display: block;"> <ul class="nav nav-pills nav-stacked"> <li class="active"> <a href="~/Emails/Index"> <i class="fa fa-inbox"></i> 收件箱 <span class="label label-primary pull-right">@Session["emalcount"]</span> </a> </li> <li><a href="~/Emails/SeedIndex"><i class="fa fa-envelope-o"></i> 已发邮箱</a></li> <li><a href="~/Emails/Create"><i class="fa fa-file-text-o"></i> 发邮件</a></li> </ul> </div> <!-- /.box-body -->
7.效果

浙公网安备 33010602011771号