當前位置:開發者網絡 >> 技術教程 >> .NET教程 >> Asp.Net開發 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
(論壇答疑點滴)__doPostBack()無效?
作者:未知
日期:2005-04-21
人氣:
投稿:(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
有的時候想在客戶端觸發服務器端控件的click事件
我們這麼寫__doPostBack('id','')
但是為什麼有的時候會實效?
因為__doPostBack()函數並沒有在頁面產生
(如果沒有類似linkbutton等控件的話asp.net引擎不產生這段js)
解決方法如下:
比如前台頁面
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>

(1)

<href="#" onclick="document.getElementById('Button1').click()">觸發服務器端按鈕事件</a>

(2)
利用GetPostBackEventReference給客戶端生成__doPostBack()
前台

<href="#" onclick="<%=PostBack()%>">觸發服務器端按鈕事件</a>

後台

protected string PostBack()
        
{
            
return this.Page.GetPostBackEventReference(this.Button1,"haha");
        }
通過__EVENTARGUMENT="haha"可以判斷是不是點了那個鏈接的PostBack
把Button1的按鈕事件這麼寫:
if(Request["__EVENTARGUMENT" ]=="haha")
            
{
                Response.Write(
"這個是鏈接的PostBack");
            }

            
else
            
{
                Response.Write(
"這個不是鏈接的PostBack");
            }

相關文章: