2012-04-03 43 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控件来显示结果