为方便起见我把代码写在Dreamweaver中,如下所示:
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<form runat="server" id="form1">
  <asp:Button ID="Button1" runat="server" Text="累加" OnClick="Button1_Click"/><br> 
  <asp:Button ID="Button" runat="server" Text="显示字符串" OnClick="Button_Click"/> 
  
</form>
</body>
</html>
<script language="c#" runat="server">
string SqlStr;
protected void Page_Load(Object Src, EventArgs E)
{

}
void Strings()
{
SqlStr=SqlStr+"字符串累加";
}
void Button_Click(Object Src, EventArgs E)
{
//不能在此调用Strings();
Response.Write(SqlStr);
}
void Button1_Click(Object Src, EventArgs E)
{
Strings();//每点击一次Button1字符串都在原来基础上加上"字符串累加"
}
</script>
问题是:运行时什么也不显示,为什么呀?应该怎么做好
要实现的功能是:点击几次“累加”按钮,就显示几个"字符串累加"。
注意:不能在Button_Click中调用Strings();
我的疑问是:每点击一次累加按钮,SqlStr应该在原来基础上加上"字符串累加"呀,在此之前我并没有清空SqlStr.

解决方案 »

  1.   

    思路错误!win程序你可以那样写.但web程序~~~web与win的一个区别就是web是无状态的.多次访问一个页面,页面中的变量是不会保存状态的.要想保存变量的状态,必须用一些额外的技术
    :如Session,Application,static,隐藏域 等等//
      

  2.   

    不用Session怎么写啊
    Session占资源
    详细一些啊
      

  3.   

    顶,我也遇到这个问题,我用TIMER控件在WEB中控制显示使STRING+="123",在FORM下显示很简单,在WEB却显示string不变,不知道为什么
      

  4.   

    WEB页面每次都重载,所以不会保存了.
    你用ViewState保存字符串就可以了.