大虾进来看看Render用法
小弟刚才看了下【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(3)从零开始开发服务器控件】
现在有点迷糊了 他里面写了几个方法 把<span>标签换成<div>了 我想问下 这方法怎么调用的?我的default.aspx页面里面这么写的 、那代码页怎么调用 RenderBeginTag(HtmlTextWriter writer) 这个writer参数怎么给?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Details.aspx.cs" Inherits="Details" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Details page</title>
</head>
<body>
<form id="form1" runat="server" method="post" action="Details.aspx">
<div>
<span id="RenderOrderControl1" runat="server">我的内容被Render显示出来了</span>
</div>
</form>
</body>
</html>
>
/// <summary>
/// Render方法执行顺序: 3
/// </summary>
public override void RenderBeginTag(HtmlTextWriter writer)
{
//base.RenderBeginTag(writer);
writer.AddAttribute( HtmlTextWriterAttribute.Id, this.ID);
writer.RenderBeginTag(HtmlTextWriterTag.Div);
}
/// <summary>
/// Render方法执行顺序: 4
/// </summary>
protected override void RenderContents(HtmlTextWriter output)
{
output.Write(Text);
}
/// <summary>
/// Render方法执行顺序: 5
/// </summary>
public override void RenderEndTag(HtmlTextWriter writer)
{
//base.RenderEndTag(writer);
writer.RenderEndTag();
}