2013-06-25 1 views
1

나는이 머리카락을 너무 오래 당겨서 사용하고 있습니다. 바라건대 너희들이 도와 줄 수 있기를 바랍니다.jQuery를 사용하여 추가 된 ASP.Net ListBox 항목

사용자가 "기술"목록에서 "내 개인 기술"을 추가 할 수있는 양식이 있습니다. 이 시나리오에서는

<script language="javascript" type="text/javascript"> 
function AddItSkills() { 
    var selectedOptions = jQuery('#<%=ListITProgramming.ClientID %> option:selected'); 
    if (selectedOptions.length == 0) { 
     alert("Please select option to move."); 
     return false; 
    } 

    if (selectedOptions.length == 1) { 
     if (jQuery("#<%=ListMyITProgramming.ClientID %> option[value='" + selectedOptions.val() + "']").length > 0) { 
     } 
     else { 
      jQuery('#<%=ListMyITProgramming.ClientID %>').append(jQuery(selectedOptions).clone()); 
     } 
    } 
    else if (selectedOptions.length > 1) { jQuery(selectedOptions).each(function() { if (jQuery("#<%=ListMyITProgramming.ClientID %> option[value='" + this.value + "']").length > 0) { } else { jQuery('#<%=ListMyITProgramming.ClientID %>').append(jQuery(this).clone()); } }); } 
    jQuery(selectedOptions).remove(); 
    return false; 
} 
function RemoveITSkills() { 
    var selectedOptions = jQuery('#<%=ListMyITProgramming.ClientID %> option:selected'); 
    if (selectedOptions.length == 0) { 
     alert("Please select option to move."); 
     return false; 
    } 

    if (selectedOptions.length == 1) { 
     if (jQuery("#<%=ListITProgramming.ClientID %> option[value='" + selectedOptions.val() + "']").length > 0) { 
     } 
     else { 
      jQuery('#<%=ListITProgramming.ClientID %>').append(jQuery(selectedOptions).clone()); 
     } 
    } 
    else if (selectedOptions.length > 1) { jQuery(selectedOptions).each(function() { if (jQuery("#<%=ListITProgramming.ClientID %> option[value='" + this.value + "']").length > 0) { } else { jQuery('#<%=ListITProgramming.ClientID %>').append(jQuery(this).clone()); } }); } 
    jQuery(selectedOptions).remove(); 
    return false; 
} 

, "기술 -() 아래 그림과 jQuery를 사용하여 코드

enter image description here

는 나는"플러스 버튼 (+) "와 마이너스 버튼을 행한 "은 데이터베이스에서 제한되며"내 개인 기술 "은 비어 있습니다. 사용자는 "나의 개인 기술"에 "기술"을 추가하고 저장 버튼을 클릭하십시오.

j # 코드 뒤에는 jQuery를 통해 추가 되었기 때문에 "내 개인 기술"에서 항목 목록을 가져올 수 없습니다.

"내 개인 기술"항목을 C# 코드 뒤에 표시 할 수있는 사람이 있습니까?

+0

사용 Request.Params [ "ListITProgramming"] –

+1

가장 쉬운 것은 jQuery를 사용하여 잊지 및 UpdatePanel에서 ASP.Net 컨트롤을 배치하는 것입니다. –

+0

@ Anna.P : 당신이 제안한 것을 조사하고 있습니다. –

답변

1

숨겨진 필드는 은색 글 머리 기호입니다.

step1. 페이지에 ASP 숨김 필드를 추가하면 hf1이 해당 ID임을 나타낼 수 있습니다.

step2. clientclick 이벤트를 저장 버튼에 추가하십시오.

step3. 클라이언트 clickevent에서 모든 개인 기술을 가져와 쉼표 또는 '|'를 사용하여 단일 문자열로 만드십시오.

step4. hf1 값을 step3에 의해 생성 된 문자열로 설정 한 다음 게시하십시오.

단계 5. 서버 측에서는 hf1 값을 얻습니다. hf1 값은 3 단계에서 생성 된 것과 같은 문자열입니다.

step6. deserialize하고 // 원하는 것을하십시오.

희망이 도움

+0

이것은 또한 해결책을 얻는 좋은 아이디어입니다 .... –