创建一个新记录,包括先前存储并从缓存MVC3检索的值

本文关键字:存储 缓存 MVC3 检索 包括先 一个 新记录 创建 | 更新日期: 2023-09-27 18:15:54

我是新手,试图掌握使用visual studio 2010创建asp.net mvc c#的技能。我现在正在研究会员管理和使用默认的会员提供程序。我有额外的字段,我已经决定存储在一个新的表和链接与成员唯一键。我能够检索这个值并存储在缓存中。现在我在一个小姐,如何使唯一的Id是表单集合的一部分,并保存在数据库中。我已经用脚手架和剃刀完成了创建视图。我已经为缓存创建了一个助手,可以在需要的时候和地方调用它

Helpers objHelper = new Helpers();
Guid UserID = objHelper.GetCachedUserID(HttpContext.Current.User.Identity.Name);

任何对新手足够详细的帮助都将不胜感激。

创建一个新记录,包括先前存储并从缓存MVC3检索的值

我想你在找:

Membership.GetUser("username").ProviderUserKey.ToString();

然而,看起来你采取了非常不标准的方式做事。你说你在缓存中存储值是什么意思?

此外,如果您正在寻找一种方法来存储每个用户的额外信息-有一个配置文件提供机制使您能够做到这一点。查看信息:http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx

回答下面评论中的问题:

如果唯一UserKey已经是你的数据库模型的一部分,那么你可以这样做:

    [HttpPost]
    public ActionResult Create(PJCountry PJCountry)
    {
        if (ModelState.IsValid) 
        {   
            // adds current user's key
            PJcountry.YourUserKey = Membership.GetUser().ProviderUserKey.ToString();
            db.PJCountries.Add(PJcountry); 
            db.SaveChanges(); 
            return RedirectToAction("Index"); 
        } 
        return View(PJCountry);
    }

如果你还没有在数据库/模型方面做出改变,你需要更清楚地说明你选择了什么范式——数据库优先还是代码优先,这样我可以帮助你