我正在創建一個簡單的聊天應用程序,用戶在主頁中選擇他的名字,然後他可以在聊天頁面中發送消息。我不知道如何在不使用模型的情況下記住用戶的名字。任何幫助?如何在ASP MVC的所有視圖中爲用戶保存名稱?
2
A
回答
2
您可以將它存儲在Session
。將其分配到控制器中,如Session["UserName"] = "John Doe";
然後,在視圖中,您可以直接訪問@Session["UserName"]
,或通過ViewModel將其傳遞。
2
將UserName設置爲AuthCookie;
FormsAuthentication.SetAuthCookie(UserName, false);
在Global.asax中AuthenticateRequest方法,你可以做一個公共票字符串變量和解密驗證cookie。
FormsAuthenticationTicket ticket;
public static string tempTicket = "";
protected void Application_AuthenticateRequest() {
HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{
ticket = FormsAuthentication.Decrypt(authCookie.Value);
if (ticket != null)
{
tempTicket = ticket.Name;
}
else
{
tempTicket = "";
}
}
}
而且你可以調用在Global.asax中定義的tempTicket,你可以像這樣;
string globalTicketVariable = MvcApplication.tempTicket;
更新1:數據類型缺失,我只是宣佈他們。這裏有一個使用它的例子。
public ActionResult Login(){
if (globalTicketVariable != null && globalTicketVariable != "")
{
DataContext Context = new DataContext();
User TempUser = Context.User.Where(x => x.UserID == (int)globalTicketVariable).FirstOrDefault();
if (TempUser != null)
{
return RedirectToAction("Success", "SuccessPage");
}
}
return View();
}
希望有助於。
相關問題
- 1. 如何保留用戶名 - 在Backbone.js的所有視圖中
- 2. ASP MVC Make類命名空間在所有視圖中可用
- 3. 如何通過在ASP MVC中的名稱獲取視圖的URL?
- 4. 如果名稱存在保存爲名稱(1)名稱(2)等
- 5. 所有者,表名,視圖名稱oracle
- 6. 名稱後保存在用戶瀏覽器中的圖像
- 7. 與視圖名稱不同的URL ASP MVC 3
- 8. 在SharedPreference中保存列表視圖中存在的所有值
- 9. 在ASP .NET中設置視圖名稱爲動作屬性MVC3
- 10. 如何保存並讀取用戶輸入的所有名字?
- 11. ASP .Net MVC |如何在視圖中添加子視圖
- 12. 獲取所有ID和用戶名會籍ASP網MVC
- 13. 如何在Apache Ignite 2.1中的一個緩存中列出所有緩存名稱和所有列名稱?
- 14. ASP MVC:如何保存文件
- 15. ASP .NET MVC保護所有資源
- 16. asp mvc:指定視圖名稱不會改變url
- 17. 如何在ASP MVC中使用和保存會話變量
- 18. 通過sharedpreferences保存在列表視圖中的.class名稱
- 19. 如何在單擊ASP時保存gridview的所有行值
- 20. 在ASP .NET MVC Razor視圖
- 21. 如何在MVC視圖中包含名稱空間
- 22. 在ASP/MVC中長期保存變量
- 23. 在mysql中保存圖像名稱?
- 24. 如何在列表視圖中獲取所選用戶名
- 25. ASP.NET MVC中的視圖的運行時類名稱
- 26. 如何在Objective-C中保存具有特定名稱的視頻文件?
- 27. 如何在ASP中使用jQuery獲取Html視圖MVC 3.0
- 28. 如何識別所有表中存在名稱的列?
- 29. 如何保存具有特定名稱的UIImagePicker圖像
- 30. MVC渲染視圖的名稱
謝謝。這是我正在尋找的解決方案。 –