我有一個用戶控件,其中包含一些控件並將其放到父頁面中。將用戶控件的值傳遞給父頁面的奇怪問題
點擊用戶控件中的服務器端按鈕,我調用一個方法。
當上面的按鈕被點擊到父頁面的JavaScript函數時,我需要傳遞一個值。
我在用戶控件中創建了一個私有變量及其公共屬性。
單擊按鈕時將一些字符串分配給公共屬性。
在父aspx.cs頁面中,我通過Page_Load中的用戶控件ID檢索上述屬性的值,並將其分配給父aspx頁面中定義的隱藏變量。
現在,當我試圖在父頁JavaScript函數中獲取此隱藏變量的值時,它的值爲空。
任何其他方法來傳遞值,首先我想到會話變種的,但然後會話變種的JavaScript將不會有效。
下面是我的代碼,我曾嘗試:
用戶控件ascx.cs頁:
private string _button1Clicked;
public string Button1Clicked
{
get { return _button1Clicked; }
set { _button1Clicked = value; }
}
public void Button1_Click(object sender, EventArgs s)
{
PopulateOtherViews();
Button1Clicked = "Button1Clicked";
}
父頁面aspx.cs頁:
protected void Page_Load(object sender, EventArgs e)
{
hiddenButton1Click.Value = filter.Button1Clicked;
}
父頁的aspx頁面:
<input type="hidden" id="hiddenButton1Click" runat="server" />
function PageLoad()
{
var x = document.getElementById('hiddenButton1Click');//x.Value is "", empty
if (x.value == "Button1Clicked")
{
doOpenFilterCollapse();
}
else {
doCloseFilterCollapse();
}
}
}
專家請在這裏協助。任何指針都會非常有幫助。
問候
阿努拉格
你hiddenButton1Click是RUNAT = 「服務器」。我認爲你需要在javascript調用它與'<%= hiddenButton1Click .ClientID%>' –
讓我嘗試添加ClientID太..謝謝你 – Anurag
歡迎:) –