我一直面臨的一個問題爲前在控制器如何顯示「消息盒子」使用MVC3控制器
的一些代碼執行後,會顯示「信息箱」: -
public ActionResult IsLoginExsit(CustomerDO loginData)
{
JsonResult jsonResult = new JsonResult();
if (!string.IsNullOrEmpty(loginData.UserName) && !string.IsNullOrEmpty(loginData.Password))
{
bool result = Businesss.Factory.BusinessFactory.GetRegistrations().IsLoginExist(loginData.UserName, loginData.Password);
jsonResult.Data = result;
}
return jsonResult;
}
在看到上面的例子,如果結果是真或假,那麼我想顯示消息框,說明登錄是成功或失敗。
<!-- language: lang-.html -->
<form class="formStyle" action="#" method="POST" id="frmAuthenticate">
<div class="row">
<input class="text row" type="text" value="" id="txtUserName"/>
</div>
<div class="row">
<input class="text row" type="password" value="" id="txtPassword" />
</div>
<div class="row last">
<a class="link" href="">Forgot Password?</a>
<a class="button3" href="/Registration/Registration" title="Registration" >Signup</a>
<input type="submit" class="button4" id="btnGo" value="Go" />
</div>
</form>
如果登錄存在,我想定位到「/客戶/ CollaborationPortal」,否則我想顯示消息「Authroization失敗」。
$("#btnGo").click(function (e) {
var RegData = getRegData();
if (RegData === null) {
console.log("Specify Data!");
return;
}
var json = JSON.stringify(RegData)
$.ajax({
url: '/Registration/IsLoginExsit',
type: 'POST',
dataType: 'json',
data: json,
contentType: 'application/json; charset=utf-8',
success: function (data) {
if(data.result == true){
location.href = "/Customer/CollaborationPortal";
}
else{
alert("Login failed"); //or whatever
}
}
});
return false;
});
function getRegData() {
var UserName = $("#txtUserName").val();
var Password = $("#txtPassword").val();
return { "UserName": UserName, "Password": Password };
}
在此先感謝
You are missing; var json = JSON之後。stringify(RegData) ,你沒有更新控制器代碼 –
嗨,我已經更新了我的控制器代碼。 – Pardha
怎麼樣; ? 如果你將結果設置爲jsonResult.Data,那麼在你的成功函數中,你應該檢查if(data == true)。如果您使用我的答案中的客戶端代碼,那麼您還應該使用服務器代碼。 –