Asp.net mvc 如何在ASP.NET MVC中编写代码来检查用户是否接受条款和条件
在我的ASP.NETMVC项目中,我需要编写代码来检查用户是否接受条款和条件。我使用实体框架和数据库优先的方法。我有一个名为Appterms的表,其中有一个名为termsaccept和Date的字段。Appterms表中还有其他字段,如GatewayUserId和termIdGatewayUserID具有注册用户的ID,termId是主键。'“Termsaccepted”字段为位类型 我试着遵循本文中发布的自定义属性函数 但无法按照我的需要实施 我正在使用此帖子获取当前用户的id。因此,在此之后,我如何返回0或1以检查他们接受的条款和条件 这是我尝试使用的代码片段: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。因此,在此之后
[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();