Asp.Net Programming的新手,刚刚开始了一个Web项目。 我使用JSON从Aspx页面调用WebMethod,如下所示:
<script type="text/javascript">
function getLogin() {
var userName = document.getElementById('TextBox1').value;
$.ajax({
type: "POST",
url: "Services/LogService.asmx/authenticateLogin",
data: "{'userName':'" +userName.toString()+ "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d)
},
error: function (xhr, status, error) {
// alert(textStatus);
DisplayError(xhr);
}
});
}
function DisplayError(xhr) {
var msg = JSON.parse(xhr.responseText);
alert(msg.Message); }
</script>
WebMethod:
[WebMethod]
public string authenticateLogin(string userName)
{
LoginBO loginBO = new LoginBO();
loginBO.userName = userName.ToString().Trim();
string result = "";
try
{
LoginDao loginDao = DAOFactory.GetDaoFactory().getLoginDao();
result = loginDao.selectUser(loginBO);
}
catch (DBConnectionException)
{
//result = "DB Conenction";
throw new Exception("DB Connection is Down");
}
catch (InvalidLoginException)
{
//HttpResponse res = new HttpResponse();
//HttpResponse.ReferenceEquals.Redirect("~/Login.aspx");
throw new InvalidLoginException("Login Is Invalid");
}
catch (Exception)
{
throw new Exception("Uanble to Fetch ");
}
int ctx = Context.Response.StatusCode;
return result;
}
成功验证后,我想将用户重定向到另一个aspx页面。
最佳做法是什么?
由于 塞缪尔
答案 0 :(得分:4)
将重定向添加到getLogin()
功能的成功部分:
success:
function (response) {
alert(response.d);
windows.location.href = "http://url.for.redirect";
}
(或使用some other method在jQuery / Javascript中重定向)。
答案 1 :(得分:2)
在Ajax方法中
success: function(msg) {
alert(response.d);
window.location = "xyz.aspx";
},
答案 2 :(得分:0)
success: function (response) {
alert(response.d)
window.location.href = "some.aspx";.
}
我认为它会对你有所帮助。