私は現在、javascript コードで一連のイベントを実行した後、asp:button クリック イベントをトリガーする必要があるプロジェクトに取り組んでいます。
以下のコードを参照してください。
これは私のボタンで、クリックイベントです:
<asp:Button ID="btnRefresh" name="btnRefresh" runat="server" Text="btnRefresh" onclick="btnRefresh_Click" />
protected void btnRefresh_Click(object sender, EventArgs e)
{
MyGrid.DataSource = null;
MyGrid.DataSource = GetDataForGrid();
MyGrid.DataBind();
}
ページのすべての JavaScript コードを保持する JavaScript ファイルを参照しました。.aspx ファイル内で JavaScript コードを混同するのはあまり好きではないので、この方法で行います。
これは、関数が外部 .js ファイルでどのように見えるかです。
function Refresh() {
var btn = $(document).getElementById('btnRefresh');
if (btn) {
btn.click();
}
else {
alert('false');
}
}
私はまた、インターネットで見た他の方法を次のように試しましたが、すべてうまくいきませんでした:
document.getElementById('btnRefresh');
__doPostBack('btnRefresh', '');
__doPostBack('btnRefresh', 'Click');
$('#btnRefresh').click();
誰かが私にそれを行う良い方法を教えてもらえますか? ありがとうございました!
編集:
私がやりたいことはこれです: UpdatePanel 内にグリッドビューがあります。btnRefresh がクリックされたときに起動されるトリガーがあります。基本的に、グリッドビューを更新します。したがって、そもそもボタンをクリックしないため、ボタンの OnClick プロパティを使用して JavaScript 関数を呼び出すことはできません。btnRefresh_Click
GridView を更新するためにトリガーが起動されるように、外部 JavaScript からイベントを呼び出すことができる必要があります。
編集2:
btn
以下の行を使用して、.aspx ページ自体でmy を定義しようとしました。
var btn = $("#");
また、JS コードを次のように変更しました。
関数 Refresh() { if (btn) { btn.click(); } 他の { 警告 ('false'); } }
jsは見ることができ、btn
イベントは行を通過しましたがbtn.click()
、btnRefresh_Click
それでも起動しませんでした。ここで何か不足していますか?