当前位置:编程学习 > C#/ASP.NET >>

求助关于一个ViewState的问题啊

大家帮我看看下面的程序到底有什么错误?我现在碰到的问题是在页面初始化的时候,存入一个值到Viewstate中,但是到postback以后,就取不到这个值了。 怎么搞都出不来,想死的心都有了。

下面Response.Write(ViewState["abc"]);取出来的值是空。
另外我没有禁用Viewstate. 


这个是web页面:
<%@ Page language="c#" Debug="true" Inherits="HOOP_ERP.V" CodeFile="v.aspx.cs"  C %>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <link rel="stylesheet" href="..\pub_lib\main_frame.css"/>
</head>
<body bottommargin="0" leftmargin="0" rightmargin="0" topmargin="0">

<form id="form1" runat="server" >
    <asp:Button ID="btnSave" runat="server" Text="保存" />
    <asp:TextBox ID="abc" runat="server"></asp:TextBox>

</form>
</body>
</html>

这个是code页面:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using System.Transactions;

namespace HOOP_ERP
{

    public partial class V : System.Web.UI.Page
    {
        protected void Page_Init(object sender, System.EventArgs e)
        {
            if (IsPostBack)
            {
                Response.Write(ViewState["abc"]);

                Response.Write(ViewState.Keys.Count);
                
            }
            else
            {
                Response.Write(Page.EnableViewState);
                ViewState["abc"] = "abc";
                Response.Write(ViewState.Keys.Count);
        
                
            }
        }

        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void btnSave_click(Object sender, EventArgs e)
        {



            return;
            
            
        }


        


        #region Web 窗体设计器生成的代码
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
            //
            InitializeComponent();
            base.OnInit(e);
        }

        /// <summary>
        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
        /// 此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {

        }
        #endregion
    }



}  --------------------编程问答-------------------- 那就用session存吧 --------------------编程问答-------------------- 写在page_lode里 --------------------编程问答-------------------- 感谢,感谢。果然应该写在Page_loade里面。

吐血啊。

--------------------编程问答-------------------- 给分把 --------------------编程问答--------------------  string SortExpression 
    {
        get 
        {
            if (ViewState["abc"] == null)
                return "DownLoadID DESC";

            return ViewState["abc"].ToString();
        }
        set 
        {
            ViewState["SortExpression"] = value;
        }
    } --------------------编程问答-------------------- 问题已经解决,帮顶,哈哈。 --------------------编程问答-------------------- if (IsPostBack)
加个!
if (!IsPostBack) --------------------编程问答-------------------- 如果你不加上感叹号。你写在load事件里还是一样是空。 --------------------编程问答--------------------
引用 3 楼 coolyefeng 的回复:
感谢,感谢。果然应该写在Page_loade里面。

吐血啊。

吐了就不用“死”了! --------------------编程问答-------------------- 那就用session存吧
--------------------编程问答--------------------
引用 3 楼 coolyefeng 的回复:
感谢,感谢。果然应该写在Page_loade里面。

吐血啊。

吐了就不用“死”了! --------------------编程问答-------------------- 路过! --------------------编程问答--------------------
引用 11 楼 sp1234 的回复:
吐了就不用“死”了!


    Ding !
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,