Прежде всего, простите мой английский, моя попытка, я создаю пользовательский элемент управления автозаполнением, чтобы заменить выпадающие списки, я создал пользовательский элемент управления, и он работает нормально.Теперь для простоты мне нужно предоставить открытое свойство в моем пользовательском элементе управления, чтобы получить выбранный идентификатор, аналогично SelectedValue элемента управления DropDrown.Я застрял с этим, любые идеи будут оценены.
Привет Мой код
UserControl.ascx
<% @ Control Language = "C #"AutoEventWireup =" true "Код File =" UserControl.ascx.cs "Inherits =" UserControl "%> <% @ Register Assembly =" AjaxControlToolkit "Namespace =" AjaxControlToolkit "TagPrefix =" cc1 "%>
function DispValue (отправитель, e) {alert (e.get_value () + ": пользовательский элемент управления");document.getElementById (hiddenFieldName.Client ID) .value = e.get_value ();
}
UserControl.ascx.cs
открытый частичный класс UserControl:System.Web.UI.UserControl {
защищенный void page_load (отправитель объекта, EventArgs e) {ACEName.ContextKey = "1";}
public String SelectedValue
{
get { return this.hdnValue.Value; }
}
public String SelectedText
{
get { return this.Name.Text; }
} }
MyAspxPage.aspx
<% @ Register Src = "~ / UserControl.ascx" TagPrefix = "puc" TagName = "UserControl"%>
Имя пациента
MyAspxPage.cs DataTable dt;protected void Page_Load (отправитель объекта, EventArgs e) {if (! 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.Add ("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;
}
protected void GridPatient_DataBound (отправитель объекта, EventArgs e) {foreach (элемент GridViewRow в gvPatient.Rows) {UserControl ptuc = (UserControl) item.FindControl( "pucPatient1");строка id = ptuc.SelectedValue;}}
public void Save (отправитель объекта, EventArgs e) {foreach (элемент GridViewRow в gvPatient.Rows) {if (item.RowType == DataControlRowType.DataRow) {UserControl ptuc = (UserControl) item.FindControl( "pucPatient1");string id = ptuc.SelectedValue; // получение нулевого значения.строка PatientName = ptuc.SelectedText;}}}
это все, что я сделал.
Благодарю вас, ура Шаранамма.