什麼是最好的方式來覆蓋ASP.NET MVC 2中的內置登錄機制,以便如果用戶需要登錄(或[授權]標記裝飾控制器操作)彈出模式對話框?如何:(jQuery)模態登錄對話框與ASP.NET MVC 2?
香港專業教育學院一直在尋找了一段時間,並沒有真正做到這一點
任何幫助或指導,將不勝感激
jQuery是不是一個先決條件,但我熟悉它
什麼是最好的方式來覆蓋ASP.NET MVC 2中的內置登錄機制,以便如果用戶需要登錄(或[授權]標記裝飾控制器操作)彈出模式對話框?如何:(jQuery)模態登錄對話框與ASP.NET MVC 2?
香港專業教育學院一直在尋找了一段時間,並沒有真正做到這一點
任何幫助或指導,將不勝感激
jQuery是不是一個先決條件,但我熟悉它
可以公開Web服務在您的項目中將驗證用戶是否已登錄。在$(document).ready()
上執行$.ajax()
調用Web服務。根據結果,您可以在UI庫中爲JQuery使用the $.dialog()
函數顯示模式彈出窗口。
這是很有可能的,不是太難。
這是另一篇文章,我似乎無法找到任何更多:
是的,這是可能的。只需使用mike bosch在此描述的方法提交登錄表單,並返回帶有returnUrl的json數據結構(如果有的話)。
我創建了一個輕量級的LoginResultDTO類,我回來作爲JSON:
public class LoginResultDTO
{
public bool Success {get;set;}
public string Message {get;set;}
public string ReturnUrl {get;set;}
}
下面是從了登錄視圖腳本塊:
<script type="text/javascript">
$(document).ready(function() {
var form = $($("form")[0]);
form.submit(function() {
var data = form.serialize();
$.post(form.attr("action"), data, function(result, status) {
if (result.Success && result.ReturnUrl) {
location.href = result.ReturnUrl;
} else {
alert(result.Message);
}
}, "json");
return false;
});
});
</script>
這將阿賈克斯包裹登錄表單。請注意,這是可能的最簡單的JavaScript代碼實現,但它是一個開始的地方。
然後我就修改了的AccountController,並在相關的地方了登錄行動把這樣的事情:
if(Request.IsAjaxRequest())
{
return Json(new LoginResultDTO{Success=true,Message="Successfully logged in"});
}else
{
return View();
}
所以這是一個超輕,但認證如何jQuery的可以在ASP中完成比較完整的版本。網絡mvc。
這看起來很棒 - 虐待嘗試實施這個馬上,讓你知道它是怎麼回事:) – Jerrold 2010-11-23 00:50:37