私のアプリケーションは、aspxページのハイパーリンクを使用して電子メールをユーザーに送信します。取得文字列にはGUIDがあります。 aspxページには、複数のページにまたがって行があるグリッドビューが表示されます。 私の要件は、リンクがクリックされたときにユーザーが適切なページに誘導され、guidへのマッピングが行が強調表示されるはずです。グリッドビューで行をハイライト表示する方法は?
助けてください、その緊急。
私のアプリケーションは、aspxページのハイパーリンクを使用して電子メールをユーザーに送信します。取得文字列にはGUIDがあります。 aspxページには、複数のページにまたがって行があるグリッドビューが表示されます。 私の要件は、リンクがクリックされたときにユーザーが適切なページに誘導され、guidへのマッピングが行が強調表示されるはずです。グリッドビューで行をハイライト表示する方法は?
助けてください、その緊急。
これにはJQueryを使用できます。
$("a").click(function(){
$(this).effect("highlight", {}, 3000);
})
これは簡単なことです。それが役に立てば幸い。
Canavarにはポイントがありますが、単純なこととして、RowDataBoundメソッドの読み込みを行い、レンダリングの最後にハイライトを実行できます。
のは、想像してみましょう(あなたがそれに関するあらゆる情報を提供しなかった原因 - ところで、いつも質問の最も詳細なバージョンを私たちに与えてください:))
GridViewのは30行表示していたと我々は行IDをhightlightする必要があります22.
は、この手順は、次のとおりです。 -
<asp:HiddenField ID="rowID" CssClass="rowids" Value='<%# Eval("YourROWID") %>' />
2とのHiddenFieldを追加 -
1を今、私たちが行を持っていること、私たちが必要なのは、DOMの準備ができたときに、あるループトラフすべての行とあなたはコメント
に言及selectrowに同じ値を持っているものをhightlightあなたはjQueryのを使用していますか?
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
}
}
追加するをREMEMBERを使用していない場合これはBODYタグの前のスクリプトで、すべての要素がページにレンダリングされると呼び出されます(DOMレディトリック)
+1はい、私は自分の答えを削除しました、私は彼のコメントを気にせずに読んでいました、私は彼がターゲットページの別のグリッドを強調表示すると思った。 – Canavar
私はjQueryを使用していません、これは唯一のオプションですか、それともasp.net自体に他の選択肢がありますか – ksa
あなたはそれを使うべきです...あなたのUIを改善するためにもっと多くのものがありますが、あなたはjQueryフレームワークの代わりにプレーンなjavascriptを使うことができます – balexandre
グリッドには何が挿入されていますか?あなたのビジネスオブジェクト?データベースへの直接クエリ? – balexandre
グリッドがデータベースから取り込まれています。 – ksa