2010-11-02 134 views
0

我正在尋找一種方法來連接ASP:LinkBut​​ton作爲鏈接顯示,但在後臺(代碼背後100%,標記中沒有虛擬預填充表單)做一個表單發佈(target = _blank)。我有一個表單操作,方法和參數傳遞,我將在LinkBut​​ton的「click」事件中進行查詢。什麼是完成這個最好的方法?100%代碼隱藏表格帖子

+0

有多種方法可以讀取您的問題。你的意思是你想在一個沒有任何表單的頁面上有一個鏈接(無論如何你都需要一個回發),服務器端的代碼決定在一個彈出窗口中單擊時加載哪個url? – 2010-11-02 03:01:45

+0

服務器端代碼將決定所有在「click」事件中的URL,params等。 – 2010-11-02 03:05:59

回答

1

那麼有很多方法可以做我認爲你正在嘗試做的事情:)

一個問題;標準彈出窗口不會觸發事件處理程序調用,因爲它們通過回傳映射到我相信的頁面。

如果你很高興與得到的只是提交:

選項A: 添加你的鏈接按鈕,未設定目標和設置回發事件處理程序,點擊

設置您的網址,並將其傳遞迴:該頁面爲JS功能將在JS功能加載馬上例如,或者使用jQuery等

你設置爲「_blank」

效果的目標加載使用URL window.open()用戶點擊鏈接,所有的代碼都是服務器端的作品出來的URL顯示,頁面刷新回在原處,然後在彈出的窗口中加載顯示新的URL

選項B: 設置的鏈接有目標=「_空白」

使其調用一個新的頁面或同一頁面通過查詢字符串參數,你可以預先過程在Page_Load()

在新的頁面或控制的代碼塊,做你的計算和Response.Redirect()到新目標

效果: 用戶單擊該鏈接,沒有頁面立即刷新只是一個新的彈出窗口,重定向到新頁面。這是我認爲更清潔的解決方案!

如果你需要POST支持:

動態創建元素或者代表了所有必要的輸入元素並輸出到彈出窗口中的HTML表單的字符串(使用選項B作爲一個粗略的開始模板)和有一個onload會立即提交表單,它將通過服務器端腳本執行POST到您決定的URL,給出與選項b相同的效果,但是具有表單級別POST。