我目前正在研究一個需要在JavaScript代碼中執行一系列事件後觸發一個asp:按鈕單擊事件的項目。使用javascript觸發asp:按鈕單擊事件
請參考下面我的代碼:
這是我的按鈕,它的Click事件:
<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內一個gridview。當點擊btnRefresh時,我觸發了一個觸發器。所以基本上,它刷新我的GridView。因此,我不能使用按鈕的OnClick屬性來調用我的javascript函數,因爲我不會首先單擊該按鈕。我需要能夠從我的外部javascript調用btnRefresh_Click
事件,以便觸發我的Trigger來更新我的GridView。
編輯2:
我試着用下面的一行在.aspx頁面本身的定義我btn
:
VAR BTN = $( 「#」);
,我也改變了我的JS代碼如下:
函數刷新(){ 如果(BTN){ btn.click(); } else { alert('false'); }}
的JS能夠看到btn
,並通過事件線路btn.click()
去不過,我btnRefresh_Click
仍然沒有火起來。我在這裏錯過了什麼嗎?
實際上,這個按鈕是隱藏的。請參閱我上面的編輯。我添加了一些關於我希望我的代碼如何工作的註釋。感謝您的迴應! :) – Smiley