Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Asp.net mvc 如何在ASP.NET MVC中编写代码来检查用户是否接受条款和条件_Asp.net Mvc_Entity Framework - Fatal编程技术网

Asp.net mvc 如何在ASP.NET MVC中编写代码来检查用户是否接受条款和条件

Asp.net mvc 如何在ASP.NET MVC中编写代码来检查用户是否接受条款和条件,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,在我的ASP.NETMVC项目中,我需要编写代码来检查用户是否接受条款和条件。我使用实体框架和数据库优先的方法。我有一个名为Appterms的表,其中有一个名为termsaccept和Date的字段。Appterms表中还有其他字段,如GatewayUserId和termIdGatewayUserID具有注册用户的ID,termId是主键。'“Termsaccepted”字段为位类型 我试着遵循本文中发布的自定义属性函数 但无法按照我的需要实施 我正在使用此帖子获取当前用户的id。因此,在此之后

在我的ASP.NETMVC项目中,我需要编写代码来检查用户是否接受条款和条件。我使用实体框架和数据库优先的方法。我有一个名为Appterms的表,其中有一个名为termsacceptDate的字段。Appterms表中还有其他字段,如GatewayUserIdtermIdGatewayUserID具有注册用户的ID,termId是主键。'“Termsaccepted”字段为位类型

我试着遵循本文中发布的自定义属性函数 但无法按照我的需要实施

我正在使用此帖子获取当前用户的id。因此,在此之后,我如何返回0或1以检查他们接受的条款和条件

这是我尝试使用的代码片段:

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, 
Inherited = true, AllowMultiple = false)]
public class AcceptedTermsCheck : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
    // Check if AcceptedTC is set to true

    // If set, then do nothing

    // Otherwise redirect to TC page
    }
 }
在这里检查用户是否接受条款,我应该返回true,即我的GatewayUserId字段中的“1”,如果不是,它应该返回false。但我不知道如何做。我也知道我应该创建会话来完成这个任务。但以前从未做过

有什么帮助吗??
谢谢。

我想这就是你想要做的。您可以发布回数据,或者使用jquery发布到某个操作,以检查条款是否被接受,然后启用submit按钮以获得更好的用户体验。无论你选择哪种方式,你都可以这样做

var dataEntityModel = new YoursEntities();
            AppTerm currentTerm = dataEntityModel.Appterms.ToList().
where(x=>x.GatewayUserId == yourCurrentUserID
&& x.termid == yourTermId).FirstOrDefault();

if(currentTerm.TermsAccepted == true)
{

}
else
{
   RedirectToAction("action","controller");
}

我编辑了这个问题并添加了我提到的用来解决这个问题的源代码。但是没有成功。代码中注释中显示的逻辑应该可以工作。你目前遇到的问题是什么?你似乎对如何做有正确的想法-你遇到的问题是什么?@CodeCaster我的问题是,到目前为止,我只知道这其中的逻辑。但不知道如何实现。我在设置数据库字段gatewayUserId 0或1中的值时遇到问题,该值基于它是否返回true或false。我还想我是否需要使用会话来存储用户的决定,即他们是否接受条款和条件。这对我的问题有意义吗???@james我在之前的评论中发布了我的问题。你能看看吗。。
userlogin login = db.userlogins.Where(j => j.email == name && j.password == password && j.status == 1)
                               .FirstOrDefault();