2013-04-04 42 views
1

我正在使用jQuery和ASP.net如何在Jquery Asp.net中查找UserControls控件值?

我有一個用戶控件,並希望將此用戶控件的值設置爲數據庫,因爲我需要用戶控件的值。以同樣的方式,我想在用戶控件中顯示數據庫中的數據,因爲我需要通過jquery獲取值。

在我的用戶控制我有4個文本框和2個按鈕(SET/UPDATE)

AutoCompleteSearch_New是ASCX用戶控件

這裏是我試過的代碼:

var ID = $('#<%= ((HiddenField)AutoCompleteSearch_New.FindControl("hdnvalue")).ClientID %>').val(); 

但我不婉不能使用隱藏的字段。

我可以直接找到控件的值而不使用隱藏字段嗎?

回答

1

它類似於使用webform中的值。

以下是相同的代碼。

Var TextBoxValue = $('#YourTextBoxID').val(); 

檢查元素並獲取文本框ID並將其替換爲YourTextBoxID

或者

Var TextBoxValue = $('#<%= YourTextBoxID.ClientID').val(); 

其中YourTextBoxID是你的ASP:文本框的ID。

當你在你的aspx頁面中加載用戶控件時,jquery認爲它是一個整體頁面,它是由用戶控件和aspx控件的其餘部分組成的。所以,你可以直接得到文本框的值在您的jQuery

+0

這是一個用戶控件不asp控制 – 2013-04-04 08:57:54

+0

是的,我知道。但是你可以得到與asp控件相同的值。 – 2013-04-04 09:12:46

+0

但是這裏我沒有得到 – 2013-04-04 09:35:41

0

你可以做,通過添加的ClientIDMode =「靜態」到控制

然後用

var txtvalue= $("#TextBoxId").val(); 
+0

但是這是在UserControl中不是asp控制 – 2013-04-04 08:57:21

+0

ClientIDMode =「靜態「將在asp.net 4.0+中工作 – 2013-04-04 08:58:09

+0

ClientIDMode =」Static「必須用於UserControl中的控件? – 2013-04-04 09:16:14

0

提供在會話中存儲的值不一個選擇,我看其他的選項有:

  • JavaScript的用戶控件標記
  • CLIE變量聲明視圖狀態
  • 自定義數據的NT-側解密HTML元素屬性

恐怕HiddenField是您最佳的選擇。這在ViewState背後有點相同。

如果不希望客戶端與價值亂動,你可以去爲值的組合,然後連接起來的祕密密鑰值的散列(值+分隔符+哈希(值+祕密密鑰) )

如果不希望客戶端訪問的價值,你可以依靠它在hiddenField加密

-1

嘿u能直接找到沒有提到它的類型

VAR文本框或hiddenfield的控制值= $( 'AutoCompleteSearch_New_hdnvalue')VAL();

這裏AutoCompleteSearch_New是用戶控件的名稱ü加載網頁和

hdnvalue是隱藏字段的用戶控件的ID AutoCompleteSearch_New

享受.. :-)