Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#asp.net MVC中的注册管理员批准验证_C#_.net_Asp.net Mvc_Linq - Fatal编程技术网

C#asp.net MVC中的注册管理员批准验证

C#asp.net MVC中的注册管理员批准验证,c#,.net,asp.net-mvc,linq,C#,.net,Asp.net Mvc,Linq,我需要“管理员批准”作为注册后的用户登录。我是在asp.NETMVC中使用MSSQL和VisualStudio完成的。我是新手,非常需要帮助,我可以用多少方法来做,以及做这件事的过程是什么。 我的想法是:我使用电子邮件验证进行登录注册。现在我需要进行管理员验证。 这是我的数据库表: 数据库:我制作了一个注册表(Tbl_用户),批准表(Tbl_批准)。我需要在登录时确认管理员批准: var approval = dc.Tbl_Approval.Where(m => m.Tbl_User.E

我需要“管理员批准”作为注册后的用户登录。我是在asp.NETMVC中使用MSSQL和VisualStudio完成的。我是新手,非常需要帮助,我可以用多少方法来做,以及做这件事的过程是什么。 我的想法是:我使用电子邮件验证进行登录注册。现在我需要进行管理员验证。 这是我的数据库表:

数据库:我制作了一个注册表(Tbl_用户),批准表(Tbl_批准)。我需要在登录时确认管理员批准:

var approval = dc.Tbl_Approval.Where(m => m.Tbl_User.EmailID == login.EmailID).FirstOrDefault();
if (!approval.ApprovalStatus)
{
    ViewBag.Message = "Please wait for admin approval";
    return View();
}
为此,我需要将Tbl_用户数据插入到之前为空的Tbl_审批表中。因此我需要控制器操作中的查询(用于Tbl_审批)以将(Tbl_用户)列表获取到Tbl_审批表中并编辑审批状态。我试过这个:-

public ActionResult List()
{
     List<Tbl_User> userList = db.Tbl_User.ToList();
     Tbl_Approval approval = new Tbl_Approval();
     List<Tbl_Approval> approvalUserList = userList.Select(x => new Tbl_Approval { UserID = x.UserID }).ToList();
     return View(approvalUserList);
}
public ActionResult List()
{
List userList=db.Tbl_User.ToList();
Tbl_批准=新的Tbl_批准();
List approvalUserList=userList.Select(x=>newtbl_Approval{UserID=x.UserID}).ToList();
返回视图(approvalUserList);
}

请帮助我执行控制器操作,将(Tbl_用户)列表放入Tbl_审批表。另外,请向我推荐执行此任务的其他好方法。

您可以为审批流程创建操作方法。当管理员批准任何特定用户时,您需要传递该用户ID。我使用EntityFramework作为示例

下面是应该可以工作的代码

    public ActionResult ApproveUser(int userId)
    {
        var user = context.Users.Find(userId);
        if(user != null)
        {
            user.ApproveStatus = 1;

            context.Entry(user).State = System.Data.Entity.EntityState.Modified;
            context.SaveChanges();
        }

        return View();
    }

将ApprovalStatus保留在用户表中,不需要单独的表。当管理员批准用户时,只需更新用户表中的标志。我首先尝试了,但在这种情况下,我如何编辑批准?如何在控制器中编写编辑(获取、发布)操作?我在编辑注册模型时遇到了问题。它有很多错误。如果不保存数据,您可以为此编写编辑操作吗?(.NETMVC)