리피터 컨트롤로 작업하고 있습니다 - 리피터의 각 항목에 이미지 & 링크 버튼이 표시됩니다.서버와 클라이언트 코드의 불편한 혼합 - 어떻게이 두 가지 요구 사항을 모두 달성 할 수 있습니까?
기능 측면에서 링크 버튼을 클릭하면 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();
}
}
당신은 아마 ajax 솔루션에 대한 조사와 함께 올바른 라인에 있었을 것입니다. 그렇지 않으면 js 변경 사항을 취소 할 포스트 백이 붙어 있습니다. 또 다른 옵션은 js를 사용하여 숨겨진 값을 채워서 변경된 컨트롤의 상태를 기록하는 것입니다. 이들은 포스트 백 (postback)시 서버에 게시 될 것이므로 페이지를 다시 표시하기 전에 이러한 변경 사항을 읽고 이에 따라 조치를 취할 수 있습니다. – markpsmith