using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;namespace Class
{
/// <summary>
/// Register 的摘要说明。
/// </summary>
public partial class Register : System.Web.UI.Page
{

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

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{        }
#endregion                protected void btn_Finish_Click(object sender, System.EventArgs e)
                {
                    if (Page.IsValid)
                    {
                        usr.Username = this.txt_Username.Text;  //此处可以读取
                        //MD5加密
                        usr.Password = this.txt_Password .Text;  //此处却为空
                    }
                }
}
1、在类中定义的usr里面的公共成员,如何在方法中修改其值,并且在另一个方法调用?我总是发现修改后在另一个方法中其值仍为空。
2、Password类型的Text把他的Visible=false后就读取不到Text值了,我记得以前可以的,为何?

解决方案 »

  1.   

    1、用ref usr(引用传递).
    2、确实是读不到的。
      

  2.   

    其实你上面的赋值取不到是因为你的Click引起了回发,所以就执行了User usr = new User();
    你想想,别的方法中还能读得到吗?
      

  3.   

    1. 回发引发重新构造对象,当然就读不到。
       至于你说的, 可以把参数申明为out
    2. 你设置为textbox就应该读地到了
      

  4.   

    1、我是在这样一个按钮事件里面想调用类中的user,如何操作?
    protected void btn_Finish_Click(object sender, System.EventArgs e)2、Password的Textbox是在一个Panel中,Panel需要隐藏,所以宽度设成0没用的。
      

  5.   

    if (Page.IsValid)
                        {   
                            User usr = new User();                        usr.Username = this.txt_Username.Text;  //此处可以读取
                            //MD5加密
                            usr.Password = this.txt_Password .Text;  //此处却为空
                        }
      

  6.   

    2.不要用Visible,用Style的visibility,设置为"hidden"。
      

  7.   

    这样会空白一片,设display为none会使页面产生script错误,用到了验证控件。
      

  8.   

    你可以把宽度设为0来实现隐藏
    ///这个方法在IE中没有问题,可能在其他浏览器中就不行哦....象opera,就会把它的也显示出来......
    2.不要用Visible,用Style的visibility,设置为"hidden"。
      

  9.   

    1、我是在这样一个按钮事件里面想调用类中的user,如何操作?
    protected void btn_Finish_Click(object sender, System.EventArgs e)User user 定义在外面
    这样你就可以直接调用user了
      

  10.   


    user能定义成全局变量嘛