在我的Javascript代码中有以下几行
credenciadausuario = '<%= getCredenciada() %>';
在我的代码隐藏中,我有这个方法
public string getCredenciada()
{
Utilidade.QuebraToken tk = new Utilidade.QuebraToken();
string credenciada = tk.CarregaToken(1, Request.Cookies["token"].Value);
return credenciada;
}
但是当我把调试器放到我的javascript代码中时,credenciadausuario变量接收字符串"<%= getCredenciada() %>“,而不是我的方法的返回。如何通过javascript或jquery调用代码隐藏中的方法?
发布于 2012-02-24 14:38:22
如果可能,使用ajax并调用该方法,这将完成您的任务。
查看这篇文章:http://pranayamr.blogspot.com/2012/01/calling-server-side-function-from.html
Cs文件(代码隐藏)
[WebMethod]
public static string IsExists(string value)
{
//code to check uniqe value call to database to check this
return "True";
}
Javascript
function IsExists(pagePath, dataString)
{
$.ajax({
type:"POST",
url: pagePath,
data: dataString,
contentType:"application/json; charset=utf-8",
dataType:"json",
error:
function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error");
},
success:
function(result) {
alert( result.d);
}
}
});}
var pagePath = window.location.pathname + "/IsExists";
var dataString = "{ 'value':'ab" }";
IsExists(pagePath, dataString);
发布于 2012-02-24 14:40:56
看起来你想在你的代码中做的就是获取cookie的值。为什么不在客户端的JavaScript中这样做呢?
发布于 2012-02-24 15:40:23
这篇来自Encosia的文章非常棒。它展示了如何使用jQuery ajax在您的代码中调用方法。
http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/
在您的代码中,您必须为该方法提供WebMethod属性:
public partial class _Default : Page
{
[WebMethod]
public static string GetDate()
{
return DateTime.Now.ToString();
}
}
要使用jQuery调用该方法,您可以使用以下代码:
$.ajax({
type: "POST",
url: "PageName.aspx/GetDate",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// Do something interesting here.
}
});
https://stackoverflow.com/questions/9432454
复制相似问题