我要实现在Default.aspx中加载一个登陆的用户控件 login.ascx ,密码正确后显示欢迎的消息
代码如下 (简化):login.ascx 中 protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "1" && TextBox2.Text == "2")
{
Button1.Text = "登陆成功";
}
else
Button1.Text = "xxxxx";
}
在Default.aspx中 有个TD1 的HTML转化的服务器控件(跟placeholder相似)
代码如下
protected void Page_Load(object sender, EventArgs e)
{ if (!Page.IsPostBack)
{
TD1.Controls.Add((Control)Page.LoadControl("~/Controls/Login.ascx"));
}
}然后在页面在第一次运行的时候加载了 login.ascx 这个控件,在里面输入1 和2
点击按牛后login.ascx 就不见了,我上午实现还是好好的 (就是按钮显示"登陆成功"),其实我只要刷新页面(在页面再放个空事件按钮),那个login.ascx就不会加载了,但我是说明!Page.IsPostBack 第二次就不加载了, 意思是 login.ascx已经加载到TD1的ViewState了,但还是空白,什么也没有,自认为页面周期还学的可以,现在傻了,我理解错在哪了 ?? 怪 我上午还运行的好好的
代码如下 (简化):login.ascx 中 protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "1" && TextBox2.Text == "2")
{
Button1.Text = "登陆成功";
}
else
Button1.Text = "xxxxx";
}
在Default.aspx中 有个TD1 的HTML转化的服务器控件(跟placeholder相似)
代码如下
protected void Page_Load(object sender, EventArgs e)
{ if (!Page.IsPostBack)
{
TD1.Controls.Add((Control)Page.LoadControl("~/Controls/Login.ascx"));
}
}然后在页面在第一次运行的时候加载了 login.ascx 这个控件,在里面输入1 和2
点击按牛后login.ascx 就不见了,我上午实现还是好好的 (就是按钮显示"登陆成功"),其实我只要刷新页面(在页面再放个空事件按钮),那个login.ascx就不会加载了,但我是说明!Page.IsPostBack 第二次就不加载了, 意思是 login.ascx已经加载到TD1的ViewState了,但还是空白,什么也没有,自认为页面周期还学的可以,现在傻了,我理解错在哪了 ?? 怪 我上午还运行的好好的
解决方案 »
- 如何跳出层上传文件?
- 用过WebHtmlEditor的高手请进来 问一个路径设置的问题 在线等答案
- [求助]DataTime类型数据无法写入Access数据库
- 一个程序设计好之后,我通常都是重新生成解决方案后把所有文件、代码都拷贝到服务器中,是不是可以拷贝某些文件而不拷贝代码就可以??
- 关于Textbox设置成为password后,无法动态将内容填入的问题
- 请大家推荐一个比较好用的新闻发布系统,谢了
- 读过ASP。NET 高级编程 提出问题 设计方案 解决方案 朋友过来交流一下
- 每天晚上十二点钟过后,网站会被清空
- 不知这个错误是什么原因
- 在Datagrid中用模板显示多行多列TextBox等待用户进行输入,怎样用上下左右箭头控制文本框的焦点,用回车键只能移到下一个文本框,而不是提
- asp.net(vb)求助,关于生成随机数字的图片
- 高手救命--关于数据为与TreeView控件生成无限级别的动态菜单问题!
{ //if (!Page.IsPostBack)
//{
TD1.Controls.Add((Control)Page.LoadControl("~/Controls/Login.ascx"));
//login.ascx已经加载到TD1的ViewState了? 没有!动态控件不存进ViewState
//}
}
ViewState 不加载 用户控件
我有点犯糊涂了
{
TD1.Controls.Add((Control)Page.LoadControl("~/Controls/Login.ascx"));
}
这样肯定是不对的, 在DEFAULT页面每次加载都要重新LOAD 用户控件,那样总是显示未登陆的状态
好象没加载
{
TD1.Controls.Add((Control)Page.LoadControl("~/Controls/Login.ascx"));
}=============楼主有没有试一下呢? 我这里试过了,就是你要的效果
{
TD1.Controls.Add(new TextBox());}
================楼主再试一下上面这个,看看在TextBox里面输入的值能不能维持~~
Eddie005(♂) №.零零伍 (♂)
你说的是对的~~
我可是一开始就把你那种方案排除了,我觉得它加载的是个全新的login.ascx (有2个为空文本框),但结果~~~~怎么是那样
难道是在login.ascx 后台运行后又重新加载运行后的 ascx ,有点不懂 ~~赐教 ~
归根到底我的毛病在哪??
{
TD1.Controls.Add((Control)Page.LoadControl("~/Controls/Login.ascx"));
}
为什么刷新后没有显示 ,与我初衷大向径庭 ,我昏死了,高人指点下