![](/img/trans.png)
[英]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.