2012-04-03 66 views

回答

1

問題是您使用IsPostBack停止在回發後顯示數據。以太網刪除它,以太網使用asp.net控件「回憶*」後的內容。

<% 
    // this part is blocked as it is, after the post back 
    if (Page.IsPostBack) 
    { 
     int n = int.Parse(Request.Params["number"]); 
     string name = Request.Params["fname"]; 
     int points = CalcPoints(name, n); 
    %> 
    Hello <%=name%> You have chosen number <%=n%> 
    The random numbers are : <%=num1 + " , " + num2 + " , " + num3%> 
    You have scored <%=points%> points! 
    <% 
    } 
    %> 

[*]它們保存到視圖狀態

+0

謝謝你的回答,如果我刪除了IsPostBack,我在int.Parse行中得到了一個空異常,那麼我該怎麼做呢? – idish 2012-04-03 14:16:05

+0

你應該真的有一個else語句在那裏有任何你想顯示回傳沒有發生時 – mattytommo 2012-04-03 14:18:41

+1

@idish使用int.tryparce() – Aristos 2012-04-03 14:26:39

2

要備份Aristos的答案的IsPostBack當您提交相同的頁面才起作用。你是跨頁腳本,因此它不是一個回傳,而是一個新的請求。

  • 使用單aspx頁面來處理的形式和結果(不改變表單的動作)
  • 將代碼放在你的代碼隱藏文件
  • 使用文字或Label控件來顯示結果