1

asp.netは初めてです。Iframe src throw table rowjavscripctclickイベントを呼び出しています。(つまり、onclick = "return loadPhaseWiseChart(" DGSET00025 ");")

私のコード:-

<tr height="25" id="row3" onclick="return loadPhaseWiseChart("DGSET00025");" bgColor="#e1f2fe">
<td>
<tr>

JQueryコード:-

function loadPhaseWiseChart(Asset_Discription) {
            document.getElementById('IframeChart1').src = "PhaseOneChart.aspx?assetdiscription=" + Asset_Discription;
        }

行をクリックすると、ページがポストバックまたは更新されます。ページの更新を避けたい、または行クリックイベントにポストバックしたい。どうすればこれができますか。どんな助けでもありがたいです。

4

1 に答える 1

0

onClick は次のようになります。

<tr height="25" id="row3" onclick="loadPhaseWiseChart('DGSET00025');" bgColor="#e1f2fe">

return の削除と、内側の文字列と外側の属性に異なる引用符の型を使用していることに注意してください (JavaScript では、これらの型は交換可能ですが、少なくとも一致する必要があります。実際、jQuery では、このような onClick を追加するべきではありません。代わりに、次のようなデータ属性を使用します。

<tr height="25" id="row3" data-chart="DGSET00025" bgColor="#e1f2fe">

次のように関数をクリックイベントにバインドします。

$('#row3').on('click', loadPhaseWiseChart);

これにより、「loadPhaseWiseChart」が次のように変更されます。

function loadPhaseWiseChart() {
  document.getElementById('IframeChart1').src = "PhaseOneChart.aspx?assetdiscription=" + $(this).data('chart');
}

最後に、これに引っかからないようにするために、「runat="server"」を追加して HTML 要素の ID が ASP.net によって変更されるため、iframe の ID が「IframeChart1」であり、その「runat」属性を指定すると、ASP はそれを「iframe_01_h1」のようなものに変換します。この値は、次のような ASP コードで取得できます。

document.getElementById('<%= IframeChart1.ClientID %>')
于 2013-02-25T07:48:23.310 に答える