我正在使用一些腳本來導致回發。這裏是上下文:使用JavaScript做ASP.NET回發(單擊LinkButton) - 回發發生但不是Click事件
- 用戶點擊鏈接到執行需要知道自己的當前位置
- 腳本得到(使用navigator.geolocation.getCurrentPosition)
- 當它的位置從瀏覽器的當前位置的功能(上述調用是異步的 - 您必須等待用戶同意共享他們的位置)我希望腳本將位置發回服務器。我通過模擬隱藏鏈接按鈕回發來做到這一點。
下面是相關代碼:
function submitLocation_Inline(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
document.getElementById("ctr11837_Locator_hLat").value = latitude;
document.getElementById("ctr11837_Locator_hLng").value = longitude;
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm._doPostBack('ctr11837_Locator_btnSubmitLocation', 'inline');
}
<a href="javascript:__doPostBack('ctr11837$Locator$btnSubmitLocation','')" id="ctr11837_Locator_btnSubmitLocation"></a>
在後面的代碼我有上隱藏的LinkButton(btnSubmitLocation_Click)click事件的處理程序。然而,這從來沒有被稱爲。回發確實發生了,但爲了處理它,我必須在Page_Load期間檢查Request [「_ EVENTTARGET」]和Request [「_EVENTARGUMENT」],以驗證它是我想要的回發。
我該如何調整我的代碼以使btnSubmitLocation_Click被調用?
PS - 不確定這是否相關:隱藏的linkbutton位於UpdatePanel中。
檢查'__EventTarget'隱藏字段並手動觸發單擊處理程序是執行此操作的唯一方法。 – jbabey