前言:之前几篇文章写了有关视图的知识,也讲述了如何实现IStateManager接口。本篇将讲解如何实 现自定义转换器。当然了,有大量的代码演示!本篇算是有关视图机制的终结篇,还会讲解有关 ControlStatel控件状态的实现。
有个小插曲,其实之前我已经把文章写了一大半,不知道怎么回事,IE出了问题,自动关闭了,真是 心痛阿,现在得重写一遍。我想每个写博文的朋友都有这样的经历吧,写一篇文章真的很不容易!
在上篇中,我们讲解了如何在一个自定义控件中保存自定义类的属性,我现在再次把代码贴出来,免 得大家去翻页。
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
{
return HtmlTextWriterTag.Table;
}
}
protected override void RenderContents(HtmlTextWriter writer)
{
//显示用户名
writer.RenderBeginTag (HtmlTextWriterTag.Tr);
writer.RenderBeginTag (HtmlTextWriterTag.Td);
writer.Write(UserName);
writer.RenderEndTag();
writer.RenderBeginTag (HtmlTextWriterTag.Td);
writer.AddAttribute (HtmlTextWriterAttribute.Id, "txtUserName");
writer.AddAttribute (HtmlTextWriterAttribute.Type, "text");
writer.RenderBeginTag (HtmlTextWriterTag.Input);
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
//显示用户密码
writer.RenderBeginTag (HtmlTextWriterTag.Tr);
writer.RenderBeginTag (HtmlTextWriterTag.Td);
writer.Write(UserPassword);
writer.RenderEndTag();
writer.RenderBeginTag (HtmlTextWriterTag.Td);
writer.AddAttribute (HtmlTextWriterAttribute.Id, "txtPassword");
writer.AddAttribute (HtmlTextWriterAttribute.Type, "text");
writer.RenderBeginTag (HtmlTextWriterTag.Input);
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
//显示登录按钮
writer.RenderBeginTag (HtmlTextWriterTag.Tr);
writer.AddAttribute (HtmlTextWriterAttribute.Colspan, "2");
writer.AddAttribute (HtmlTextWriterAttribute.Align, "center");
writer.RenderBeginTag (HtmlTextWriterTag.Td);
writer.AddAttribute (HtmlTextWriterAttribute.Id, "btnSubmit");
writer.AddAttribute (HtmlTextWriterAttribute.Type, "submit");
writer.AddAttribute (HtmlTextWriterAttribute.Value, "Login");
writer.RenderBeginTag (HtmlTextWriterTag.Input);
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
}
}
}