国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

關于webcontrol和pagelet的一點看法

2024-07-21 02:16:39
字體:
來源:轉載
供稿:網友
昨天看了bigeagle的一些帖子,覺得受益匪淺,但有一點我不是很同意,就是說pagelet是一個過渡性方案,其實在一些簡單的控件開發上,pagelet是很方便的。
而且pagelet有直觀明了的特點。pagelet 可與webform一樣支持控件拖放。這極大方便了我們的編程。我個人認為簡單的無需支持模版的空件完全可以用pagelet來開發。它與webcontrol是同等的。當然如果要做一個商業化的復雜的(比如你想自己做一個類似datagrid的控件)還是要用webcontrol的。這里就兩個例子來說明
我們分別用這兩種方式開發一個用戶登錄控件
1._signin.ascx
<%@ control inherits="portal.portalmodulecontrol" %>
<%@ import namespace="portal" %>
<script language="c#" runat="server">

    void loginbtn_click(object sender, imageclickeventargs e) {

        // attempt to validate user credentials using usersdb
        usersdb accountsystem = new usersdb();
        string userid = accountsystem.login(email.text, password.text);

        if ((userid != null) && (userid != "")) {

            // use security system to set the userid within a client-side cookie
            cookieauthentication.setauthcookie(userid, remembercheckbox.checked);

            // redirect browser back to originating page
            response.redirect("default.aspx");
        }
        else {
            message.text = "<" + "br" + "><" + "br" + ">登錄失敗!<" + "br" + "><" + "br>";
        }
    }

</script>

<hr noshade size="1pt" width="98%">

<span class="subsubhead" style="height:20">account login</span>

<br>

<span class="normal">email:</span><br>

<asp:textbox id="email" columns="9" width="130" cssclass="normaltextbox" runat="server"/><br>

<span class="normal">password:</span><br>

<asp:textbox id="password" columns="9" width="130" textmode="password" cssclass="normaltextbox" runat="server"/><br>

<asp:checkbox id="remembercheckbox" class="normal" text="remember login" runat=server/>

<table cellspacing=0 cellpadding=4 border=0>

    <tr>
        <td>
            <asp:imagebutton id=signinbtn imageurl="images/signin.gif" onclick="loginbtn_click" runat="server" /><br>
            <a href="register.aspx"><img src=http://www.163design.net/n/a/"images/register.gif" border="0"></a></br>

            <asp:label id="message" class="normalred" runat=server/>
        </td>
    </tr>

</table>

<br>


////
////2.webcontrol
///
using system;
    using system.drawing;
    using system.web;
    using system.web.ui;
    using system.web.ui.webcontrols;
    using system.componentmodel;
    using system.web.sessionstate;
    using system.web.security;
    using portal;
namespace portal.web
{
    /// <summary>
    ///    summary description for login.
    /// </summary>
    [defaultproperty("text"),
        showintoolbox(true),
        toolboxdata("<{0}:login runat=server></{0}:login>")]
    public class login : control, inamingcontainer
    {
        private string text;
        protected textbox txtusername;
        protected textbox txtpassword;
        protected label    lblusername;
        protected label    lblpassword;
        protected requiredfieldvalidator rvusername;
        protected requiredfieldvalidator rvpassword;
        protected linkbutton btnlogin;
        protected linkbutton btnregister;
        protected label errmsg;
        protected checkbox remembercheckbox;

        [bindable(true),
            category("appearance"),
            defaultvalue(""),
            persistable(persistablesupport.declarative)]
        public string text
        {
            get
            {
                return text;
            }

            set
            {
                text = value;
            }
        }


        /// <summary>
        ///    render this control to the output parameter specified.
        /// </summary>
        /// <param name="output"> the html writer to write out to </param>
        protected override void createchildcontrols()
        {
            this.controls.add(new literalcontrol("<table>"));
            this.controls.add(new literalcontrol("<tr>"));
            this.controls.add(new literalcontrol("<td>"));
            lblusername = new label();
            lblusername.text = "用戶名";
            this.controls.add(lblusername);
            this.controls.add(new literalcontrol("</td>"));
            this.controls.add(new literalcontrol("<td>"));
            txtusername = new textbox();
            txtusername.text = "";
            this.controls.add(txtusername);
            this.controls.add(new literalcontrol("</td>"));
            this.controls.add(new literalcontrol("<td>"));
            rvusername = new requiredfieldvalidator();
            rvusername.controltovalidate = "txtusername";
            rvusername.errormessage = "用戶名不能為空!";
            rvusername.forecolor = system.drawing.color.red;
            this.controls.add(rvusername);
            this.controls.add(new literalcontrol("</td>"));
            this.controls.add(new literalcontrol("</tr>"));
            this.controls.add(new literalcontrol("<tr>"));
            this.controls.add(new literalcontrol("<td>"));
            lblpassword = new label();
            lblpassword.text = "密碼";
            this.controls.add(lblpassword);
            this.controls.add(new literalcontrol("</td>"));
            this.controls.add(new literalcontrol("<td>"));
            txtpassword = new textbox();
            txtpassword.textmode = system.web.ui.webcontrols.textboxmode.password;
            txtpassword.text = "";
            this.controls.add(txtpassword);
            this.controls.add(new literalcontrol("</td>"));
            this.controls.add(new literalcontrol("<td>"));
            rvpassword = new requiredfieldvalidator();
            rvpassword.controltovalidate = "txtpassword";
            rvpassword.errormessage = "密碼不能為空!!";
            rvpassword.forecolor = system.drawing.color.red;
            this.controls.add(rvusername);
            this.controls.add(new literalcontrol("</td>"));
            this.controls.add(new literalcontrol("</tr>"));
            this.controls.add(new literalcontrol("<tr colspan=3>"));
            this.controls.add(new literalcontrol("<td>"));
            remembercheckbox = new checkbox();
            this.controls.add(remembercheckbox);
            this.controls.add(new literalcontrol("</td>"));
            this.controls.add(new literalcontrol("</tr>"));
            this.controls.add(new literalcontrol("<tr colspan=3>"));
            this.controls.add(new literalcontrol("<td>"));
            btnlogin = new linkbutton();
            btnlogin.text = "登錄";
            btnlogin.click += new eventhandler(this.btnlogin_click);
            this.controls.add(btnlogin);
            this.controls.add(new literalcontrol("  "));
            btnregister = new linkbutton();
            btnregister.text = "注冊";
            btnregister.click += new eventhandler(this.btnregister_click);
            this.controls.add(btnlogin);
            this.controls.add(new literalcontrol("</td>"));
            this.controls.add(new literalcontrol("</tr>"));
            this.controls.add(new literalcontrol("<tr colspan=3>"));
            this.controls.add(new literalcontrol("<td>"));
            errmsg = new label();
            errmsg.id = "errmsg";
            this.controls.add(errmsg);
            this.controls.add(new literalcontrol("</td>"));
            this.controls.add(new literalcontrol("</tr>"));
            this.controls.add(new literalcontrol("</table>"));
        }

        private void btnlogin_click(object sender, eventargs e)
        {
            usersdb accountsystem = new usersdb();
            string userid = accountsystem.login(txtusername.text, txtpassword.text);
            if ((userid != null) && (userid != "")) {

            // use security system to set the userid within a client-side cookie
            cookieauthentication.setauthcookie(userid, remembercheckbox.checked);

            // redirect browser back to originating page
            page.response.redirect("default.aspx");
            }
            else {
            errmsg.text = "<" + "br" + "><" + "br" + ">登錄失敗!<" + "br" + "><" + "br>";
            }
        }

        private void btnregister_click(object sender, eventargs e)
        {
            page.response.redirect("register.aspx");
        }
    }
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松阳县| 海原县| 抚松县| 黔南| 英德市| 思南县| 肃宁县| 新河县| 汝阳县| 陵水| 棋牌| 津南区| 都江堰市| 尼勒克县| 永登县| 师宗县| 平原县| 满洲里市| 渑池县| 仪征市| 深水埗区| 华安县| 电白县| 玉门市| 泌阳县| 宝鸡市| 黄山市| 衡南县| 郴州市| 常山县| 静安区| 新巴尔虎右旗| 达日县| 宜宾县| 南漳县| 榆社县| 清丰县| 甘洛县| 宁夏| 金沙县| 新野县|