(转)浅谈ASP.NET内部机制(七)

 浅谈ASP.NET内部机制(七)

                                                                --- 视图状态实战篇

     前言:本篇讲解与视图ViewState相关的知识,包括IStateManager,自定义转换器TypeConvert,以及和视图功能相同的控件状态。可以说本篇是对保存状态有关知识的总结,代码也详细的给出。。。。。。。。

 

     自从上次写了有关视图的文章后,收到了很多朋友的邮件,很感谢大家的支持:)很多朋友都说要求说说实践性更强的东西,所以本篇就进一步的来谈谈视图(不仅仅只是视图,而且在ASP.NET中的状态保存的话题)。首先希望大家对自定义控件有一定的了解。大家可以去参看我的控件开发系列

     首先我看从一个简单的控件开发来谈起,我们在ASP.NET有Login的登录控件,我们现在就来自己来实现一个类似的控件,因为本篇主要讲述与视图有关的话题,所以关于事件冒泡等我们不提及,主要是为了使得代码简洁,易懂,集中讲述一个问题。

     实现自定义Login控件有很多的方式,我这里会带着大家一步步的做,首先我们继承WebControl来实现一个控件,然后我们再改进例子,我们来看看从WebControl继承的Login控件:

     


using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace CustomComponents
{
        
/// <summary>
        
///MyLogin 的摘要说明
        
/// </summary>

        public class MyLogin:WebControl 
        
{
                
#region  属性
                
public string UserName
                
{
                        
get
                        
{
                                
return ViewState["UserName"!= null ? (string)ViewState["UserName"] : "UserName";

                        }

                        
set
                        
{
                                ViewState[
"UserName"= value;
                        }

                
                }

                
public string UserPassword
                
{
                        
get
                        
{
                                
return ViewState["UserPassword"!= null ? (string)ViewState["UserPassword"] : "UserPassword";

                        }

                        
set
                        
{
                                ViewState[
"UserPassword"= value;
                        }


                }

                
#endregion


                
protected override HtmlTextWriterTag TagKey
                
{
                        
get
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值