2012-04-16 107 views
0

根據我的應用程序中的某些值,我需要顯示帶有確定和取消的確認框,如果它們單擊確定,它應該繼續並導航到另一個頁面,否則如果它們單擊取消,它應該保持在同一頁面。使用Page.ClientScript從呼叫獲得響應

我遇到的問題是,彈出不顯示,除非我添加return語句如下

if (true) 
     { 
     Page.ClientScript.RegisterStartupScript(this.GetType(), 
     "ConfirmBox", "confirm('The numbers selected are not in the directory," 
     + sb.ToString()+ 
     " you wish to continue?');", true); 
         return; 
     } 
    Response.Redirect("~/homepage.aspx"); 

正如你可以看到這是行不通的,因爲它永遠不會去,因爲重定向返回,但沒有返回,即使條件爲真,它也會跳過彈出窗口。我怎樣才能做到這一點?

回答

1

我已經試過你的代碼,並且動作與你一樣。 我的解決方案提供給您:

<script type="text/javascript"> 
function Redirect() 
{ 
location.href = "~/homepage.aspx"; 
} 
</script> 
<script runat="server"> 
void yourFunc() 
{ 
if (true) 
     { 
     Page.ClientScript.RegisterStartupScript(this.GetType(), 
     "ConfirmBox", "if(confirm('The numbers selected are not in the directory," 
     + sb.ToString()+ 
     " you wish to continue?') == true){Redirect();};", true); 
     } 
} 
</script> 

希望它可以幫助你。

+0

請不要使用您的簽名。 http://stackoverflow.com/faq#signatures – Pankaj 2012-04-16 03:11:28

1

我遇到的問題是,彈出不顯示,除非我添加 return語句如下一旦Page Life Cycle執行完畢它的所有事件

JavaScript code將被執行。所以,回報在這裏沒有任何意義。


糾正措施

移動代碼(條件和Redirect到另一頁)JavaScript函數。在您的RegisterStartupScript中調用函數。

0

這可能是你的靈魂。這是基於來自確認框的用戶輸入限制導航的示例。

Check here