Javascript代码:
function jsfunction ()
{
var sayi = 9999;
alert('<%= cfunction("'+sayi+'")%>');
}
C#代码:
public string cfunction(string gelen)
{
return gelen;
}
通常情况下,应该有一个从javascript代码发送到C#代码的9999
值,但是这个值作为'+sayi+'
返回。另外,这给了我9999的警告,我哪里错了?
发布于 2011-07-26 17:57:28
C# (服务器端)可以为客户端生成标记,如果没有某种Ajax类型的web请求,客户端就不能回调到服务器端。
要做你想做的事情,你可以创建一个C# webmethod
[WebMethod()]
public static string cfunction(string gelen)
{
return gelen;
}
并通过客户端jQuery.ajax()方法使用jQuery方法(如果您还没有webmethod库脚本,则需要它)
function jsfunction() {
var sayi = 9999;
$.ajax({
type: "POST",
url: "YOUR-ASPX-PAGE.aspx/cfunction",
data: "{gelen:'" + sayi + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
alert(msg.d);
}
});
}
发布于 2011-07-26 17:47:20
到JavaScript运行时,C#代码已经执行完毕。了解您的页面生命周期。
如果您想调用服务器端函数来获取数据,则需要了解Ajax。
发布于 2011-07-26 18:04:15
您可以使用scriptmethod属性从javascript代码中调用服务器端方法。但您必须了解它背后的机制,以便您可以进行相应的调试和修改。
https://stackoverflow.com/questions/6834215
复制相似问题