Propiedad SelectedValue para un control de usuario de Autocompletar

En primer lugar, perdone mi inglés, mi intento, estoy creando un control de usuario de autocompletar, para reemplazar los menús desplegables, he creado el control de usuario y está funcionando bien. Ahora, en aras de la simplicidad, necesito proporcionar una propiedad pública en mi control de usuario para obtener la identificación seleccionada, similar al valor seleccionado del control DropDrown. Estoy atascado con esto, cualquier idea será apreciada.


Hi Mi código

UserControl.ascx

<% @ Control Language = "C #" AutoEventWireup = "true" Archivo de código = "UserControl.ascx.cs" Inherits = "UserControl"%> <% @ Register Assembly = "AjaxControlToolkit" Namespace = "AjaxControlToolkit" TagPrefix = "cc1" %>

función DispValue (remitente, e) {alerta (e.get_value () + ": control de usuario"); document.getElementById (hiddenFieldName.Client ID) .value = e.get_value ();
}

UserControl.ascx.cs

UserControl de clase parcial pública: System.Web.UI.UserControl {
carga_página vacía protegida (remitente de objeto, EventArgs e) {ACEName.ContextKey = "1"; }

public String SelectedValue
{
    get { return this.hdnValue.Value; }
}

public String SelectedText
{
    get { return this.Name.Text; }
} }

MiAspxPage.aspx

<% @ Register Src = "~ / UserControl.ascx" TagPrefix = "puc" TagName = "UserControl"%>
Nombre del paciente

MiAspxPage.cs DataTable dt; Page_Load vacío protegido (remitente del objeto, 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;
}

protegido vacío GridPatient_DataBound (remitente del objeto, EventArgs e) {foreach (elemento GridViewRow en gvPatient.Rows) {UserControl ptuc = (UserControl) elemento.FindControl ("pucPatient1"); id de cadena = ptuc.SelectedValue; }}

public void Save (remitente del objeto, EventArgs e) {foreach (elemento GridViewRow en gvPatient.Rows) {if (item.RowType == DataControlRowType.DataRow) {UserControl ptuc = (UserControl) item.FindControl ("pucPatient1"); string id = ptuc.SelectedValue; // obteniendo un valor nulo. string PatientName = ptuc.SelectedText; }}}

esto es todo lo que hice.

Gracias, saluda Sharanamma.

preguntado el 24 de septiembre de 11 a las 05:09

2 Respuestas

Probablemente esté utilizando el TextBox control en segundo plano para su Autocomplete. Entonces, defina el SelectedValue de la siguiente manera:

public string SelectedValue
{
   get { return this.textBox.Text; }
}

O si necesita la ID del valor seleccionado, no mostrar texto, entonces coloque HiddenField cerca de tu TextBox y complete el ID del valor seleccionado de autocomlete usando JavaScript. Y utilícelo en el lado del servidor:

public string SelectedValue
{
   get { return this.hiddenField.Text; }
}

Respondido el 24 de Septiembre de 11 a las 09:09

Tuve un problema más, si expongo OnClientItemSelected en autoCompleteextender en el evento de control de usuario como una propiedad, significa que no obtengo la propiedad establecida de SelectedValue porque previamente configuré el valor de campo oculto en el evento onClientItemSelect de autocompleteextender que está en UserControl y expuse este valor en la propiedad SelectedValue, entonces, ¿cómo puedo configurar esta propiedad? cualquier solución significa que será apreciado - Sharanamma Jekeen

puede usar findcontrol () en el evento RowDataBound de gridview. Puede que le ayude a encontrar valores de campo oculto

Respondido el 26 de Septiembre de 11 a las 07:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.