表中有个字段NUM,类型为int,
public int number;protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
number=4;//假设值为4
}}下面有添加按钮
我把string Number = number.ToString().Trim();然后用存储过程添加到数据库表中
获得的值显示却为0,无法把真正的值4,插入表中public int number;protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{}
number=4;//假设值为4,把这个写在这里
}
我把string Number = number.ToString().Trim();
然后插入数据库,获得的值都为4,
为什么会这样,第一个问题出在哪里

解决方案 »

  1.   

    int string 类型问题吗,还是没插入成功时num默认值为0
      

  2.   

    既然是int,为什么要转换成string,再插入到数据库中?
      

  3.   

    这个和类型无关,储存过程里的类型是设为int的,
    现在的问题是第一个为什么没法取得值,第二个位置变一下就可以获得正确的值
      

  4.   

    你点击按钮,页面回发,NUM重新加载,NUM就默认为0了而下面的页面回发后又重新把4赋值给NUM了,当然就可以了
      

  5.   

    public int number;把断点打在这里,你会发现,点击按钮时还会走这一句
      

  6.   

    在按钮事件里赋值
    显然你对ispostback还是不清楚。
      

  7.   

    如果是第一种情况 简单的可以用session保存
      

  8.   

    如果session保存,那在按钮后需要seeion清空的是吧
      

  9.   

    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    number=4;//假设值为4
    }}number=4;//假设值为4
    不要写在IspostBack里面啊。你点击按钮回发之后就变0了。