C# 基于用户id修改数据库
我真的看了,谷歌,这个网站,几天来,尝试了很多不同的东西,但我找不到答案 所以,我正在尝试创建一个web应用程序,它将在购买后显示客户信息。我正在使用VS2012 express和C#,我决定使用MVC4,主要是因为有一个关于ASP.NET的教程非常接近我想要做的。对我的选择的任何评论都不是被要求的,但也不是不受欢迎的 因此,管理员将在每天结束时输入所有销售信息。我们在销售协议中将客户电话号码记录为账号,所以我的想法是,为了简单起见,也可以将客户电话号码用作登录web应用程序的方式。同样,当客户端登录到站点查看数据库时,数据库将自动过滤,以便特定客户端只能看到其事务 我遵循的教程是 我发现这是需要应用过滤器的地方,但我在这样做时遇到了很多麻烦。 控制器名为“MainController” 数据库名为“Main”,表名为“Mains” “AccountNumber”是数据库中应与当前用户Id匹配的字段C# 基于用户id修改数据库,c#,entity-framework,asp.net-mvc-4,entity-framework-5,C#,Entity Framework,Asp.net Mvc 4,Entity Framework 5,我真的看了,谷歌,这个网站,几天来,尝试了很多不同的东西,但我找不到答案 所以,我正在尝试创建一个web应用程序,它将在购买后显示客户信息。我正在使用VS2012 express和C#,我决定使用MVC4,主要是因为有一个关于ASP.NET的教程非常接近我想要做的。对我的选择的任何评论都不是被要求的,但也不是不受欢迎的 因此,管理员将在每天结束时输入所有销售信息。我们在销售协议中将客户电话号码记录为账号,所以我的想法是,为了简单起见,也可以将客户电话号码用作登录web应用程序的方式。同样,当客户
public ActionResult Index()
{
return View(db.Mains.ToList());
}
据我所知,我必须将[InitializeSimpleMembership]放在上面,然后获取用户ID,然后将其定义为过滤器。首先,您应该选择以下方式之一: 1) 将登录名和用户信息保存在单独的表中,并让SimpleMembership(SM)执行其默认任务 2) 使用现有的表来存储用户信息,并告诉SM哪一个表适用 方法一: 要处理这种方法,您只需手动创建用户(我认为您也是这样),并在负责创建客户的action方法中添加一行额外内容:
[HttpPost]
public ActionResult Create(Customer model)
{
if (ModelState.IsValid)
{
db.Customers.Add(model);
try
{
db.SaveChanges();
// here it is ...
WebSecurity.CreateUserAndAccount(model.Phone, model.Password);
}
catch
{
insertError = true;
}
// .. Other codes ...
}
现在,您的客户只需将其电话号码作为用户名和密码登录到该网站即可
要检索与当前登录到站点的特定用户相关的项目,只需使用以下查询:
public ActionResult Index()
{
return View(db.Mains.Where(m => m.AccountNumber == User.Identity.Name)
.ToList());
}
如果您还需要第二种方法,请告诉我更新我的答案,并将其放在此处似乎您是MVC新手。请下载示例项目并查看它们是如何完成的。您是否尝试过查看(db.Main.Where(x=>x.AccountNumber==givenId.ToList()?