以下是我正面對的場景,我有一個aspx頁面,其中添加了我的ascx用戶控件,我也有一個<a href
控件,它調用了一個js函數來打開一個aspx彈出。將數據從aspx頁面傳遞到aspx popup
當我打開彈出窗口時,我需要將存在於ascx控件中的數據發送到彈出窗口。能否請您指導我使用什麼方法來實現這一點,而不是使用會話,因爲數據可以在許多不同的地方更新,因此保持會話將很困難。
感謝
以下是我正面對的場景,我有一個aspx頁面,其中添加了我的ascx用戶控件,我也有一個<a href
控件,它調用了一個js函數來打開一個aspx彈出。將數據從aspx頁面傳遞到aspx popup
當我打開彈出窗口時,我需要將存在於ascx控件中的數據發送到彈出窗口。能否請您指導我使用什麼方法來實現這一點,而不是使用會話,因爲數據可以在許多不同的地方更新,因此保持會話將很困難。
感謝
嘗試用這些syntaxe(+的RegisterStartupScript window.open)
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "newWindow", "window.open('Test.aspx?ID=" + _cId + "','_blank','status=1,toolbar=0,menubar=0,location=1,scrollbars=1,resizable=1,width=30,height=30);", false);
你說,你正在使用一個js函數打開ASPX彈出。
那麼它很簡單。
1. Read the Data from the controls of the User control by using javascript var variable1 = document.getElementByID("ControlId").value; var variable2 = document.getElementByID("ControlId").value; 2. Pass this data as query string to the next page window.open("http://www.w3schools.com?id=" + variable1 + "&name=" + variable2); You can read this data from querystring from the next page
Hello Mohammed,如果你的控件是asp.net控件,你可以爲你的第一個腳本添加ClientId –
If you cant sent data as querystring , can try some other ways 1. Try to post the form to the other page using target="_blank". we can dynamically change the form action if needed. OR 2. Make use of the window.opener object from the popup to read the data from controls the opener page. var variable1 = window.opener.getElementById("ControlId").value
創建您的ASCX一個隱藏的變量。
<asp:HiddenField runat="server" ID="hdnId" />
在ASCX設定值的頁面加載發送到隱藏變量
protected void Page_Load(object sender, EventArgs e){
hdnId.Value = <value to be sent to pop-up>;
}
代碼註冊一個AJAX經理的後面。
protected override void OnInit(EventArgs e)
{
RadAjaxManager.GetCurrent(this.Page).ClientEvents.OnRequestStart = "ajaxMngr_RequestStart;";
base.OnInit(e);
}
在ajaxMngr_RequestStart()JS
function ajaxMngr_SA_RequestStart(sender, args) {
var oPatId = "<%=hdnSendPatId.Value %>";
//add code to open the pop-up, add oPatId as part of the URL
}
}
我使用Telerik的,這使得有很大幫助管理彈出式窗口。讓我知道,如果這有幫助。
乾杯!
對不起,錯過提及,我必須通過的數據是大querystring將不夠。 – Arvind