首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • asp.net中自定义控件.ascx怎么引用 [已结贴,结贴人:liu185v232]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 12:54:13 楼主
    做了个用户控件(aaa.ascx)里面有个Button单击事件按纽,希望实现按Button按钮时,包含(aaa.ascx)这个该用户控件的页面可以接收到事件.就是说:如果页面1.aspx中包含了aaa.ascx,页面2.aspx中也包含了aaa.ascx,当页面1.aspx单击Button后会产生一个值“X”在aaa.ascx上面。我通过页面1.aspx里的其他按纽跳转到页面2.aspx中去了。页面2不在需要单击button,可以直接得到“X”。页面2.aspx中的aaa.ascx要怎么做才也可以得到这个“X”


    其实我做的就是用个自定义控件,做个登陆,当登陆后会有个值在这个aaa.ascx页面中保存,我很多页面都需要这个值,所以我很多页面都引用了这个自定义控件,,,但是我现在做成的是当第1个页面登陆后。进入第2个页面后它并没有登陆,自然也不会有我需要的那个值,那位大哥可以指点下。我应该如何做这个东西。
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 13:25:031楼 得分:50
    把你要的值放到Session中或静态变量中
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 13:29:172楼 得分:0
    把“X”存到Session里,aaa.ascx只需要到Session里取值就行!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 13:39:123楼 得分:0
    用cookies。

    按钮
      protected void IB_Login_Click(object sender, System.Web.UI.ImageClickEventArgs e)
            {  //用户名
                string u_username = this.CTB_ID.Text.Trim();

                //密码
                string u_password = Encrypt(this.CTB_PW.Text.Trim());

                ////数据验证
           
                string sql = "select userid,state from dbo.F_user where username='" + u_username + "' and userpwd='" + u_password + "' and state='1'";
                sqls.Fill_DT(sql,dt);

                if (dt.Rows.Count > 0)
                {
                    string u_userID = "";
                    //取出注册者的ID
                    string user = "select * from f_user a ,f_user b where a.userid=b.userid and a.username='" + u_username + "'";
                    DataTable dtuserid=new DataTable();
                    sqls.Fill_DT(user,dtuserid);
                    if(dtuserid.Rows.Count>0)
                    {
                        u_userID = dtuserid.Rows[0]["userid"].ToString();
                        HttpCookie myCookies = new HttpCookie("NewsUserCookies");
                        myCookies.Values["News_username"] = u_username;
                        myCookies.Values["News_userid"] = u_userID;
                        Response.AppendCookie(myCookies);
                    }
                    sqls.ConClose();
                    if (Session["url"] == "" ¦ ¦ Session["url"] == null)
                    {
                        Response.Redirect("admin/Index.aspx?username=" + u_username + "&userid=" + u_userID + "");
                    }
                    else
                    {
                        Response.Redirect(ConfigurationSettings.AppSettings["NewsUserCookies"] + Session["url"]);
                    }
                }
                else
                {
                    Response.Write(" <script>");
                    MessageBox("00003", null);
                    Response.Write(" </script>");
                }
                sqls.ConClose();
            }


    另一个页面
    这样获取
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //判断是否登录
                HttpCookie cookie_login = Request.Cookies["NewsUserCookies"];
                if (cookie_login == null)
                {
                    //获取http表头编码
                    string strurl = HttpContext.Current.Request.Url.PathAndQuery;
                    Session["url"] = strurl;

                    Response.Write(" <script>alert('无效的操作!');window.location.href='../login.aspx'; </script>");

                }
                // 判断是否登录
                HttpCookie cookies = Request.Cookies["NewsUserCookies"];//cookies必须与登录是创建cookies一样
                if (cookies == null)
                {
                    // http://localhost:10666/YuJu/News/admin/login.aspx
                    Response.Write(" <script>alert('无效的操作!');window.location.href='../login.aspx'; </script>");
                }
                else
                {
                    string userid = cookies["News_userid"].ToString();
                    string username = cookies["News_username"].ToString();
                }

            }
        }

    说的不知道适合不适合你
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 13:44:304楼 得分:50
    通用的做法是使用Session保存你要的值

    还有用户控件 不等于 自定义控件
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 13:45:295楼 得分:0
    友情up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 13:57:206楼 得分:0
    谁可以给我个更准确的答案。。我想做的也就是象CSDN上面这个登陆差不多。。。我的这个aaa.ascx就是一个登陆界面。。

    当我没登陆的时候。。。其他的.aspx页面包含aaa.ascx自定义控件都会是一个没有登陆的界面。。。

    当我在任意的一个.aspx页面包含aaa.ascx自定义控件登陆的时候。。。这个时候在跳到其他.aspx页面包含aaa.ascx都会有登陆的信息“X”值

    我的这个aaa.ascx在其他页面都是用PlaceHolder控件存放的。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 14:01:517楼 得分:0
    方案已经给了,代码要靠你自己写啊..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 14:02:058楼 得分:0
    把登录信息保存在session中,然后把session的值赋给控件的某个属性,在控件中判断这个属性,根据不同的值显示不同内容
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved