僅當用戶名不在數據庫中時,我需要在我的視圖中顯示「添加爲用戶」鏈接。我在我的SQL數據訪問層中有一個名爲UsernameExists的方法,我想在AccountController中使用它。我會怎麼做呢?邏輯應該在服務器端,並在視圖上顯示鏈接。添加用戶鏈接ASP.NET MVC
回答
您可以從您的控制器調用UsernameExists方法,並將結果添加到ViewBag中。在你的視圖中檢查ViewBag,如果bool是真的(用戶名已經存在),那麼不要顯示「Add as User」,否則顯示它。
例 -
控制器:
ViewBag.usernameExists = model.UsernameExists(username);
查看:
@if(!(bool)ViewBag.usernameExists)
{
<a>Add as User</a>
//Whatever you want to display
}
謝謝,但是如果在另一個庫(SQLContactLibrary)中的另一個類(SQLContactDAL)中,如何從控制器訪問UsernameExists方法? – multiv123
@ multiv123在項目中添加對SQLContactLibrary的引用。那麼如果它是一個靜態方法:SQLContactLibrary.SQLContactDAL.UsernameExists(username); //根據類名稱空間的不同,這可能會有所不同。 – xbrady
參考文獻中已經有對SqlContactLibrary的引用。我將ViewBag語句放在操作方法public ActionResult CreateUser中。 – multiv123
聽起來好像使用遠程驗證,你會想做什麼,那麼你就顯示被隱藏的鏈接在頁面上。你幾乎可以免費獲得這個MVC,那麼你會做一些客戶端腳本來顯示/隱藏鏈接。 視圖模型:
public CreateUserVM
{
[Required]
[Remote("UsernameExists","YourController")]
string Username { get; set; }
}
查看:
@model CreateUserVM
@Html.LabelFor(model => model.Username, "Enter User Name:")
@Html.EditorFor(model => model.Username)
控制器
public JsonResult UsernameExists(CreateUserVM user)
{
//logic to check if user name exists
}
- 1. ASP.net添加鏈接
- 2. ASP.NET MVC用超鏈接添加ModelState錯誤
- 3. ASP.Net MVC ListBoxFor - 讓用戶添加項目
- 4. 使用C#添加鏈接mvc
- 5. ASP.NET MVC添加css類到動作鏈接
- 6. 將rel和標題添加到ASP.NET MVC動作鏈接
- 7. 如何將CSS類名稱添加到ASP.NET MVC 3 Url.Action鏈接?
- 8. 添加Html動作鏈接到ASP.NET MVC中的列表
- 9. ASP.Net MVC - 添加字段到添加鏈接的創建表單(不包含javascript)
- 10. 添加PARAMS到頁面鏈接(.NET MVC)
- 11. ASP.Net MVC 3頁鏈接
- 12. asp.net mvc超鏈接頁面?
- 13. 如何在gridview(asp.net)中添加鏈接?
- 14. 將鏈接列添加到ASP.NET GridView
- 15. 添加鏈接到標籤ASP.NET(VB)
- 16. ASP.Net MVC AJAX鏈接無法使用
- 17. ASP.net mvc鏈接點擊調用函數
- 18. 使用asp.net mvc鏈接數據庫
- 19. ASP.NET MVC單擊後禁用Ajax鏈接
- 20. 使用URL(鏈接)在ASP.NET MVC C#
- 21. 嚮應用程序用戶添加其他屬性ASP.NET MVC
- 22. 用jQuery/JavaScript添加鏈接
- 23. 添加鏈接使用JavaScript
- 24. facebook鏈接加入用戶
- 25. 添加類Html.ActionLink - ASP.NET MVC 3
- 26. ASP.NET MVC中不添加ModelError
- 27. 添加分頁到ASP.NET MVC
- 28. 添加項目在ASP.NET MVC
- 29. 添加直接鏈接鏈接
- 30. 添加類鏈接
很可能需要添加一些細節到這個問題。你問是否有條件地顯示客戶端或服務器端? –
我認爲邏輯應該在服務器端,但鏈接必須在視圖中顯示 – multiv123
您是否使用ef? – Tassadaque