私は回避策を見つけようとしているという奇妙なことが起こっています(選択ではなく、私はそれをしなければなりません)。テーブル行を表示または非表示にする JavaScript 関数があります。他の誰かがそれを書きました。どのように機能するかというと、表の行の画像をクリックすると、その下に行が表示されます。画像をもう一度クリックすると、行が折りたたまれます。そのイメージ コードは単純です。
<img blah blah blah onClick="ShowHide(this);">
私がやろうとしているのは、その img 要素と属性をキャプチャしてクエリ文字列として送信することです。これにより、ページがポストバックを行うときに、コード ビハインドで javascript 関数 ShowHide(this) を呼び出して画像プロパティを渡すことができます。そうすれば、ページの読み込み時に行が表示されます。それは理にかなっていますか?だから私が今持っているのは:
function postbackwithModal(){
//image properties is what I need to figure out
window.location = "/Products/ProductDetail.aspx?element=" + imageProperties;
}
そして、コードビハインドで:
string element = Request.QueryString["element"];
if (!element.IsNullOrEmpty())
{
ClientScript.RegisterStartupScript(GetType(), "hwa", "ShowHide(" + element + ");", true);
}
ShowHide() 関数は次のようになります。
function ShowHide(Element) {
var rowIndex = $(Element).parent().parent()[0].sectionRowIndex;
var item = $(Element).parent().parent().parent().children()[rowIndex + 1];
if ($(item).is(":visible") == true) {
$(item).hide(0, function () { $(Element).attr('src', '../Images/plus.png'); });
}
else {
$(item).show(0, function () { $(Element).attr('src', '../Images/minus.png'); });
// Loop though the images and set the src value to be the custom handler endpoint.
var ImageContainer = $(item).children().children().children()[3];
var Images = $(ImageContainer).find('img');
}
globalPlus = Element;
}