2012-06-19 141 views
0

__doPostBack()函數適用於FF和IE,但不適用於safari和chrome。 我在我的asp.net C#應用程序下面的代碼__doPostBack不適用於Chrome和safari

ASPX代碼


<a href="www.myAddress.com/abcdef.html" onclick="javascript:SetPosition(); ">Click here</a> 

JS功能


function SetPosition() { 
     __doPostBack('ahref', 'link'); 
} 

CS代碼


protected void Page_Load(object sender, EventArgs e) 
{ 
      if (!IsPostBack) 
      { 
       // Other code is here 
      } 
      else if (Request.Params["__EVENTARGUMENT"] != null && Convert.ToString(Request.Params["__EVENTARGUMENT"]).Trim() == "link") 
      { 
       Session["TopPossition"] = "9999"; 
      } 
} 
+0

當您點擊鏈接時,您的鏈接會進入頁面嗎?還是阻止實際鏈接點擊?例如'event.preventDefault();'或'return false;'? –

+0

你有沒有嘗試過使用鏈接按鈕或按鈕來測試回發? – Rohit

+0

No.I不要阻止鏈接click.when用戶點擊鏈接「SetPosition()」被調用,然後用戶重定向到新頁面(在這種情況下www.myAddress.com/abcdef.html) – ravidev

回答

1

我相信你需要傳遞服務器控件ID作爲EventTarget而不是客戶端ID當你使用__doPostBack調用。嘗試改變__doPostBack調用作爲如此...

<a id="someclientid" name="someuniqueid" href="javascript:void(0);" onclick="__doPostBack('someuniqueid', '');">val</a> 

默認情況下,控件使用__doPostBack做回發到服務器。 __doPostBack獲取控件的唯一標識符(或HTML中的HTML元素的名稱屬性)。第二個參數是要觸發的命令的名稱。

+0

我試過你的code.it不工作 – ravidev

0

onclick事件處理程序需要禁用鏈接默認行爲以導航到href屬性中指定的內容。

它應該是這樣的:

<a href="#" onclick="SetPosition(); return false " >Click here</a> 

您可以在SETPOSITION提供重定向()如果需要的話。

+0

你的代碼工作,但我不能設置href =「#」 – ravidev

相關問題