2013-02-11 1 views
0

리피터 컨트롤로 작업하고 있습니다 - 리피터의 각 항목에 이미지 & 링크 버튼이 표시됩니다.서버와 클라이언트 코드의 불편한 혼합 - 어떻게이 두 가지 요구 사항을 모두 달성 할 수 있습니까?

기능 측면에서 링크 버튼을 클릭하면 itemcommand가 실행됩니다 (명령어 인수가 제공됨). 이 항목 명령은 일부 서버 측 코드를 실행하여 첫 번째 중계기와 관련된 데이터로 다른 중계기를 하위 목록으로 채 웁니다.

UI 측면에서 리피터의 각 항목은 클릭 한 링크 버튼 이미지를 제외하고 오른쪽 아래로 축소 된 이미지 불투명도를 갖습니다.

나는이 문제에 실행

입니다 : 이것은 현재의 클릭 이미지를 보여주고 훌륭하게 나머지를 숨 깁니다

$('.showSubCats').click(function (e) { 
    e.preventDefault(); 
       $(".myImages").animate({ opacity: 0.2 }, 300); 
       $(this).parent().children('img').animate({ opacity: 1.0 }, 300); 

}); 

..하지만 나는 itemcommand 분명히했다에 다시 게시로 e.preventdefault()를 소개했다 작업 jquery를 실행 취소하면 이미지를 완료했습니다.

.preventdefault()를 도입하여 itemcommand를 사용할 수 없게되었습니다. 아.

  • 내가 registerstartupscript를 사용하여 뒤에 코드에서 JQuery와의 비트를 실행하려고했으나 DOM을 완료했고 내가 시도
  • 내 이미지는 1.0 불투명도에 다시 복귀하기 전에 도망 :

    내가 있었다 생각 그런 식으로 서버 사이드 스크립트를 실행하는 내 jquery에서 아약스 호출 -하지만 그 실행 가능한 솔루션을 얻을 수 없습니다.

  • 나는 {return : true}를 추가하려고 시도했다;

나는이 아이디어로 죽은 말을 때 리거나 다른 시도가 있습니까? 여기

내 항목 명령 코드 :

protected void showSubCat_itemCommand(object sender, CommandEventArgs e) 
    { 

      using (var db = new ps.data.Entities1()) 
      { 

       int id = int.Parse(e.CommandArgument.ToString()); 
       var subCats = (from sc in db.vwSubCategories 
           where sc.primaryCategoryID == id 
           select sc).ToList(); 

       SubCategories.DataSource = subCats; 
       SubCategories.DataBind(); 
       currentCatChosen.Value = id.ToString(); 
      } 
    } 
+1

당신은 아마 ajax 솔루션에 대한 조사와 함께 올바른 라인에 있었을 것입니다. 그렇지 않으면 js 변경 사항을 취소 할 포스트 백이 붙어 있습니다. 또 다른 옵션은 js를 사용하여 숨겨진 값을 채워서 변경된 컨트롤의 상태를 기록하는 것입니다. 이들은 포스트 백 (postback)시 서버에 게시 될 것이므로 페이지를 다시 표시하기 전에 이러한 변경 사항을 읽고 이에 따라 조치를 취할 수 있습니다. – markpsmith

답변

0

내가 registerstartupscript를 사용하여 뒤에 코드에서 JQuery와의 비트를 실행하려고했으나 DOM을 완료했고 내 이미지는 1.0 불투명도에 다시 복귀하기 전에 달렸다

IMO, 올바른 해결 방법입니다. 이미지가 되돌아 오는 한 ... $(document).ready()에 코드를 래핑 해 보았습니까?

+0

thankyou - 나는 문서 준비에 싸여 있었고 거의 거기에있었습니다. 내가 가진 유일한 문제는 DOM이로드 한 시점에서 클릭 한 컨트롤의 ID를 분명히 잊어 버렸기 때문입니다. 나는 2 개의 값 (이미 사용중이었던)을 취하고 코드 뒤에 나뉘어 jquery에 itemindex를 공급하여 버튼의 id를 재발견하기 위해 itemcommand를 수행해야했습니다. – bruceiow

+0

우수. 기쁜 데 도움이되었습니다. –

관련 문제