내 응용 프로그램은 aspx 페이지에 대한 하이퍼 링크가 포함 된 전자 메일을 사용자에게 보냅니다. get 문자열에는 guid가 있습니다. aspx 페이지는 여러 페이지에 걸쳐 행이있는 gridview를 표시합니다. 내 요구 사항은 링크를 클릭했을 때 사용자가 적절한 페이지로 이동해야하며 guid에 매핑 된 행을 강조 표시해야합니까?Gridview에서 행을 강조 표시하는 방법은 무엇입니까?
도와주세요. 긴급합니다.
내 응용 프로그램은 aspx 페이지에 대한 하이퍼 링크가 포함 된 전자 메일을 사용자에게 보냅니다. get 문자열에는 guid가 있습니다. aspx 페이지는 여러 페이지에 걸쳐 행이있는 gridview를 표시합니다. 내 요구 사항은 링크를 클릭했을 때 사용자가 적절한 페이지로 이동해야하며 guid에 매핑 된 행을 강조 표시해야합니까?Gridview에서 행을 강조 표시하는 방법은 무엇입니까?
도와주세요. 긴급합니다.
JQuery를 사용할 수 있습니다.
$("a").click(function(){
$(this).effect("highlight", {}, 3000);
})
간단 할 것입니다. 희망이 도움이됩니다.
Canavar에는 포인트가 있지만, 간단한 것은 RowDataBound 메소드의로드를 취하여 렌더링이 끝나면 하이라이트를 수행 할 수 있습니다.
의 GridView 30 개 행을 표시했다 :) - (BTW, 항상 질문의 가장 상세한 버전을 우리에게 주시기 바랍니다 당신이 그것을에 관한 정보를 제공하지 않은 원인) 그리고 우리는 행 ID를 hightlight 필요
의 상상하자 22
이 단계를 수행 : -
<asp:HiddenField ID="rowID" CssClass="rowids" Value='<%# Eval("YourROWID") %>' />
2와 함께에 HiddenField 추가 -
1 이제 우리는 행을 가지고, DOM을가, 루프 저점 모든 행과 당신이 jQuery를 사용하고 코멘트
에 언급 selectrow에 동일한 값을 가지고 하나를 hightlight 준비가되었을 때 우리가 필요로하는 모두는 무엇입니까?
var selectedRow = '<%= Request["selectrow"] %>';
$(document).ready(function(){
$(".rowids").each(function() { // Get and Loop through all class=rowids elements
if($(this).value() == selectedRow) {
// we found it! lets find the TR and add the highlight class to it
$(this) // the INPUT ELEMENT
.parent() // the TD element
.parent() // the TR element
.addClass("highlight"); // Add the class
}
});
});
jQuery를를 사용하지 않는 경우 (당신이해야하지만, 당신은 당신의 코드에서 많은 부분을 개선하기 위해 사용 그렇지 않으면 다시 것이라는 점을 나는 거의 확실 원인)
var selectedRow = '<%= Request["selectrow"] %>';
var arr = document.getElementsByTagName("input");
for (i = 0; i < arr.length; i++) { // Loop through all input elements
if(arr[i].className == "rowids" && arr[i].defaultValue == selectedRow) {
// it's a rowids element and the value is the one we are looking out
var tableRow = arr[i].parentNode.parentNode; // get it's TR element
tableRow.className = tableRow.className + ' hightlight'; // Add the class
break; // no need to loop through more, we already found the one we are looking for
}
}
추가을 기억을 이 스크립트에서 BODY 태그 앞에 있기 때문에 모든 요소가 페이지에서 렌더링 될 때 호출됩니다 (DOM 준비 트릭)
+1 예, 내 대답을 삭제했습니다. 그의 의견을주의 깊게 읽지 않았기 때문에 대상 페이지의 다른 표를 강조 할 것입니다. – Canavar
jQuery를 사용하고 있지 않습니다. 유일한 옵션입니까, 아니면 asp.net 자체에 다른 대안이 있습니까? – ksa
사용하는 것이 좋습니다 ... UI를 향상시키는 데 사용할 수있는 요소가 훨씬 많지만 방금 내 대답을 업데이트했습니다. 그래서 jQuery 프레임 워크 대신 일반 자바 스크립트를 사용할 수 있습니다 – balexandre
Grid를 채우는 것은 무엇입니까? 귀하의 사업 개체? 데이터베이스에 직접 쿼리? – balexandre
그리드가 데이터베이스에서 채워집니다. – ksa