2009-04-09 83 views
2

我正在使用asp.net webforms 2.0,c#。如何從彈出窗口返回值

我需要的是一個簡單,優雅的方式來做到以下幾點:

用戶點擊一個網頁表單的元素; Webform B彈出;用戶與網絡表單B進行交互;在關閉webform B時,可能通過提交按鈕,webform a中的源元素將更新爲webform B的值。

這裏涉及哪些技術?當然,除了Javascript和c#之外。我可以在沒有Ajax的情況下做到嗎?

編輯:

爲了澄清,WEBFORM B就保存數據進入數據庫,說客戶信息,然後它會回來與客戶ID(保存後),這個客戶ID需要傳遞到父窗口,它應該在此之後刷新。

回答

1

您可以使用JavaScript:

<script language="javascript"> 
window.opener.location.reload(); 
self.close(); 
</script> 

上面的代碼演示瞭如何關閉「開門紅」窗口,但它應該給你的總體思路。 (此代碼位於彈出窗口中)。 您可以使用相同的方法通過調用其中的JavaScript函數將值傳遞給'opener'窗口。

<script language="javascript"> 
window.opener.functionA('ABC123');  
</script> 

如果你想從你的ASP傳遞一個變量到JavaScript函數,使用:

window.opener.functionA('<%=userId%>'); 

var userId = '<%=userId%>'; 
window.opener.functionA(userId); 

希望幫助!

+0

謝謝。我應該澄清一下自己,看看我的編輯。 – sarsnake 2009-04-09 23:45:45

-1

function webFormAClick(){ var theReturnValue = window.showModalDialog("webFormB.html", myArguments, ''); }

1

如果您正在使用ASP.NET 2.0,你可以有第二頁後回到第一個,然後用IsCrossPagePostBack檢測到它。

+0

謝謝你會考慮它。 – sarsnake 2009-04-10 00:37:52