[英]Calling client javascript with params from server side in ASP.net
[英]Calling server side function with parameter from Javascript in ASP.NET
我在VB.NET中有一个ASP.NET应用程序。 我在mypage.aspx
有一个Javascript函数,在我的callback.aspx
页面中有另一个。 我需要这些脚本来在mypage.aspx
上呈现和提交IFrame
。
当我点击提交按钮时:
<asp:Button ID="subbtn" Name="Submit" OnClientClick="onsubmit_action();" runat="server" />
执行此脚本,其中iframeId
是IFrame
的ID:
function onsubmit_action() {
submitPage('iframeId');
}
IFrame
的响应(验证或成功)将提交到callback.aspx
文件。 我猜这是通过跨站点脚本执行的 ,该脚本调用callback.aspx
文件中的回调函数。
function callback()
{
parent.pagecallback_success('<%=Request.QueryString("Id")%>');
}
调用mypage.aspx
的函数
function pagecallback_success(ref_id) {
var Url = "mypage.aspx?";
Url += "id=" + id;
window.location.href = Url;
}
该脚本按预期工作。 现在,我想调用服务器功能
Protected Function Store(ByVal id As String) As Boolean
在mypage.aspx.vb
并传递变量id
:
function hostedpagecallback_success(id) {
var Url = "mypage.aspx?";
Url += "id=" + id;
window.location.href = Url;
"<%= Store(id) %>"
}
问题在于,编译器将id
视为服务器端函数,并给出了编译错误。 但是,如果我使用一个sub
(不带参数)而不是一个函数,则在接收到IFrame
和其他时间(连接为https无法有效调试Javascript )时,在page_load
上执行该sub
3次。
我在跨站点脚本和代码块方面不擅长,可能确实很琐碎,但我不知道如何解决此问题。 有人吗
我认为您正在寻找MS-Ajax功能的页面方法。 将[WebMethod]放在您要调用的方法上(服务器端),并使用诸如PageMethods.GetData(f,s,OnRequestComplete,OnRequestError)之类的客户端对其进行调用。
整个模式需要一篇文章来描述。 http://www.dotnetfunda.com/articles/article454-using-pagemethods-and-json-in-aspnet-ajax.aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.