首先,原諒我的英語,我的嘗試,我創建一個自動完成用戶控件,替換掉落,我創建了用戶控件,並且它的工作正常。爲了簡單起見,我需要在我的用戶控件中提供一個公共屬性來獲取選定的ID,類似於DropDrown控件的SelectedValue。我堅持這一點,任何想法將不勝感激。一個自動完成用戶控件的SelectedValue屬性
嗨我的代碼
UserControl.ascx
<%@控制語言= 「C#」 AutoEventWireup = 「真」 的代碼 文件=「UserControl.ascx。 cs「 Inherits =」UserControl「%> <%@ Register Assembly =」AjaxControlToolkit「Namespace =」AjaxControlToolkit「 的TagPrefix = 「CC1」 %>
功能DispValue(發件人,E){ 警報(e.get_value()+ 「:用戶控制」); document.getElementById(hiddenFieldName.Client ID).value = e.get_value();
}UserControl.ascx.cs
公共部分類用戶控件:System.Web.UI.UserControl {
保護無效的Page_Load(對象發件人,EventArgs的) { ACEName。 ContextKey =「1」; }public String SelectedValue { get { return this.hdnValue.Value; } } public String SelectedText { get { return this.Name.Text; } } }
MyAspxPage.aspx
<%@註冊SRC = 「〜/ UserControl.ascx」 的TagPrefix = 「PUC」 標籤名= 「用戶控件」 %>
患者姓名MyAspxPage.cs數據表DT;如果(!IsPostBack) { dt = new DataTable();如果(!IsPostBack) dt = new DataTable(); dt.Columns.Add(「col1」); dt.Columns.Add(「col2」); dt.Columns.Add(「col3」); dt.Columns.Add(「col4」); dt.Columns.Add(「col5」); dt.Columns。添加( 「COL6」);
if (Session["dt"] == null) { dt = AddRow(dt); gvPatient.DataSource = dt; gvPatient.DataBind(); Session["dt"] = dt; //ViewState["dt"] = dt; } else dt = (DataTable)Session["dt"];//ViewState["dt"]; } } private DataTable AddRow(DataTable dt) { for (int i = 0; i < 5; i++) { DataRow dr = dt.NewRow(); dr[0] = ""; dr[1] = ""; dr[2] = ""; dr[3] = ""; dr[4] = ""; dr[5] = ""; dt.Rows.Add(dr); } return dt; }
保護無效GridPatient_DataBound(對象發件人,EventArgs的) { 的foreach(在gvPatient.Rows GridViewRow項) { 用戶控件ptuc = (用戶控件)item.FindControl( 「pucPatient1」); string id = ptuc.SelectedValue; } }
公共無效保存(對象發件人,EventArgs的) { 的foreach(在gvPatient.Rows GridViewRow項) { 如果(item.RowType == DataControlRowType.DataRow) { 用戶控件ptuc = (UserControl)item.FindControl(「pucPatient1」); string id = ptuc.SelectedValue; //獲得空值。 string patientName = ptuc.SelectedText; } }}
這是所有我所做的。
感謝你,歡呼Sharanamma。
我有一個問題更值I,E,如果我在用戶控件事件暴露OnClientItemSelected在autoCompleteextender作爲一個屬性意味着我沒有得到的SelectedValue的設置屬性,因爲以前我設置在UserControl的autocompleteextender的onClientItemSelect事件中隱藏的字段值,並在SelectedValue屬性中顯示此值,那麼如何設置此屬性?任何解決方案手段將不勝感激 –