Xin chào Tôi đang cố gắng chạy một webmethod với ajax từ một trang aspx. về cơ bản tôi muốn chuyển hướng đến một trang aspx khác với một chuỗi truy vấn, nhưng tôi muốn làm điều đó từ <a href>
, beacuse nó là một phần của một trình đơn jquery.không thể gọi Response.Redirect bên trong một phương pháp tĩnh
từ những gì tôi đã học Tôi chỉ có thể sử dụng ajax để gọi các phép đo web tĩnh, nhưng tôi canot chuyển hướng từ hàm tĩnh của tôi.
visual studio đánh dấu nó trong một đường đỏ nói: "một tham chiếu đối tượng là cần thiết cho phương pháp không tĩnh lĩnh vực hoặc tài sản System.Web.HttpResponse.Redirect (string)"
đây là cuộc gọi ajax :
function redirect_to_profile() {
$.ajax({
type: "POST",
url: "personal_profile.aspx.cs.aspx/redirect_to_profile",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (res) {
alert("success");
},
error: function (res, msg, code) {
// log the error to the console
} //error
});
}
ở đây là a href:
<a onclick="redirect_to_profile()">Personal Profile</a>
đây là WebMethod bên trong personal_profile.aspx
[WebMethod]
public static void redirect_to_profile()
{
dbservices db=new dbservices();
string user = HttpContext.Current.User.Identity.Name;
string id = db.return_id_by_user(user);
HttpResponse.Redirect("personal_profile.aspx?id="+id);
}
1) không có tĩnh 'Response'. 2) Điều đó sẽ không làm bạn muốn anyway. Bạn cần nói chuyện với JS. – SLaks
tôi đã cố gắng để nói chuyện với nó, nó sẽ không trả lời:) bạn có ý nghĩa gì bởi điều đó? – Dvirski
Bạn cần trả lại kết quả để báo cho JS biết phải làm gì. – SLaks