[英]calling a server side function from javascript without using ajax
我正在尝试执行以下操作:
function redirectContactOnClick(contactId) {
var enc=<%= QueryStringModule.Encrypt("cont="+ contactId)%>;
alert(enc);
//window.location = "Contacts/AddEditContact.aspx";
}
QueryStringModule.Encrypt
是c# class
内的一个函数,该页面引发错误,提示: The name 'contactId' does not exist in the current context
您将无法将javascript变量( contactId
)传递给C#方法。 建议为此寻找一个不同的解决方案,例如,制作通用Web处理程序(.ashx)并通过ajax将contactId传递到那里,然后从Encrypt
调用中获取所需的内容。
您可以从javascript调用服务器端(C#)函数。 首先,将脚本包含在服务器上可运行的ScriptManager中。 然后,javascript函数可以调用c#函数(其属性为[System.Web.Services.WebMethod]
并且必须是静态的)。
例如。
PageMethods.QueryStringModule.Encrypt("cont="+ contactId);
在客户端,以及
[System.Web.Services.WebMethod]
public static void Encrypt(string id)
{
// Do something
};
在服务器端
(来源: http : //www.codeproject.com/Questions/727256/how-to-call-server-side-function-from-javascript )
要调用服务器端成员,唯一的模式是执行请求HTTP或同步(POST页面)或异步(AJAX)
您不直接调用服务器功能
在你的情况下
收到错误,因为contactId不是页面的成员,您可以通过以下方式进行通信
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.