![](/img/trans.png)
[英]how to get session of username and update his username to the database whenever the user updates the gridview?
[英]How to get logged in UserName and add his name to database?
在我的應用程序中,我有針對登錄用戶的表單,在用戶完成問卷調查后,我想將具有用戶名的答案添加到數據庫中。 我正在編寫保存值的方法,並且在將UserName保存到我的數據庫表列時遇到了一些麻煩。 如何看正確的語法來保存該用戶名?
模型方法
public string Answer1 { get; set; }
public string Answer2 { get; set; }
public void Save()
{
var db2 = new DBEntities();
db2.Questionnaire.Add(new Questionnaire() {
Answer1 = Answer1,
Answer2 = Answer2,
//ETC...
});
db2.SaveChanges();
}
調節器
public ActionResult Form()
{
var model = new FormViewModel();
return View(model);
}
[HttpPost]
public ActionResult Form(FormViewModel model)
{
if (ModelState.IsValid)
{
var now = DateTime.Now;
model.CreationDate = now;
var usr = User.Identity.GetUserName();//getting logged UserName
db2.Questionnaire.Add(model.usr);//this is incorrect attempt to save
model.Save(); //saving method
return RedirectToAction("Index");
}
return View(model);
}
我的數據庫表格看起來像
CREATE TABLE [dbo].[Questionnaire](
[Id] [int] IDENTITY(1,1) NOT NULL,
[CreationDate] [datetime] NOT NULL,
[UserName] [nvarchar](50) NOT NULL,
[Answer1] [nvarchar](50) NULL,
[Answer2] [nvarchar](512) NULL,
//ETC..
PRIMARY KEY CLUSTERED
您必須為模型設置用戶名,答案等:
模型:
public string UserName { get; set; }
public string Answer1 { get; set; }
public string Answer2 { get; set; }
public void Save()
{
var db2 = new DBEntities();
db2.Questionnaire.Add(new Questionnaire() {
Answer1 = Answer1,
Answer2 = Answer2,
UserName = UserName,
//ETC...
});
db2.SaveChanges();
}
調節器
var usr = User.Identity.GetUserName();//getting logged UserName
model.Username = usr;
model.Save(); //saving method
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.