Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

187
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda