Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

181
Vistas
El cuadro de lista es nulo al eliminar elementos del lado del cliente

Heredé un proyecto de formularios web y todavía soy algo nuevo en el desarrollo web. En esta página, tenemos 2 cuadros de lista: lstCaseLoad, que se completa con "Casos" (números de identificación) y lstAssignedCaseLoad, que se completa con Casos seleccionados por el usuario del formulario. El usuario puede seleccionar Cargas de casos de lstCaseLoad y pulsar un botón para eliminarlas y transferirlas a lstAssignedCaseLoad, que se realiza en el lado del cliente con JavaScript. El usuario también puede hacer lo contrario, eliminando de lstAssigned a lstCaseLoad en el lado del cliente. El usuario debe presionar el botón Enviar que publicará y guardará los cambios en SQL.

Agregar nuevos CaseLoads de lstCaseloads a lstAssigned y enviar funciona bien. Eliminar de lstAssigned es donde tengo problemas. lstAssigned parece volverse nulo cuando se envía y, por lo tanto, no se puede guardar. Código a continuación.

Cuadros de lista:

 <asp:ListBox ID="lstCaseLoad" runat="server" SelectionMode="Multiple" /> <asp:ListBox ID="lstAssignedCaseLoad" runat="server" Height="175px" SelectionMode="Multiple" /> //Adding Caseload to Assigned $("#btnAddCaseLoad").bind("click", function () { var options = $("[id*=lstCaseLoad] option:selected"); $("[id*=lstAssignedCaseLoad]").append($(options).clone()); $(options).remove(); return false; }); //Removing Caseload from Assigned $("#btnRemoveCaseLoad").bind("click", function () { var options = $("[id*=lstAssignedCaseLoad] option:selected"); $("[id*=lstCaseLoad]").append($(options).clone()); $(options).remove(); return false; });

Código detrás

 protected void Page_Load() { if (!IsPostBack) { //Retrieving and Binding listboxes. No issues here GetData(); BindData(); } else { var test= Request.Form.AllKeys; //Temp variable to check all elements for debugging. lstAssignedCaseLoad is missing when deleting. Is fine when adding new caseload //Read listAssignedCaseLoad items to comma seperated strings. Becomes null when trying to remove items string strCaseLoad = Request.Form[lstAssignedCaseLoad.UniqueID]; //Transfer string strCaseload to (field)List<string> for saving. Works fine when string is not empty userCaseLoadList = ProcessListString(strCaseLoad, lstAssignedCaseLoad); } } //Submit button method. Works as intended protected void EditUser_Click(object sender, EventArgs e) { identityMgr.EditUser(Email.Text, userRoleList, userCaseLoadList); }

Intenté buscar y no puedo encontrar el mismo problema. ¡Gracias por tu tiempo y ayuda!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Esto se debe al atributo "seleccionado" de la opción en el cuadro de lista. Si selecciona la opción en "lstCaseLoad" que no tiene el atributo "seleccionado" y hace clic en el botón Eliminar, se agregará a "lstAssigned", pero la opción agregada tampoco tiene este atributo "seleccionado" porque estamos clonando. Entonces, si desea hacer el proceso inverso, debe seleccionar (hacer clic) esa opción nuevamente desde "lstAssigned" antes de hacer clic en eliminar. Puede observar el comportamiento del atributo "seleccionado" inspeccionando las opciones antes de hacer clic en el botón.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda