创建html元素并转化成字符串方法,用于快速构建html元素,填入Literal,避免使用服务器控件提高页面性能
Posted on 2008-05-29 15:09 losingrose 阅读(608) 评论(0) 收藏 举报using System;
using System.Web;
using System.Collections;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.IO;
/// <summary>
/// 搜集编写者losingrose
/// QQ:303864496
/// MSN:losingrose@21cn.com
/// http://losingrose.cnblogs.com
/// </summary>
public static class MyControlAS
{
/// <summary>
/// 设置DropDownList的选项
/// </summary>
/// <param name="droplist">DropDownList</param>
public static void DropDownList_addall(System.Web.UI.WebControls.DropDownList droplist)
{
droplist.Items.Insert(0, new System.Web.UI.WebControls.ListItem("所有", "%"));
}
#region HtmlHelper
public static string htmlControlToString(Control control)
{
StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
control.RenderControl(htw);
return sw.ToString();
}
public static HtmlAnchor NewAnchor(string text, string href, string classname, string title,string target)
{
HtmlAnchor a = new HtmlAnchor();
a.InnerText = text;
a.HRef = href;
if (!string.IsNullOrEmpty(classname))
a.Attributes["class"] = classname;
if (!string.IsNullOrEmpty(title))
a.Title = title;
if (!string.IsNullOrEmpty(target))
a.Target = target;
return a;
}
public static string NewAnchorString(string text, string href, string classname, string title, string target)
{
return htmlControlToString(NewAnchor(text, href, classname, title, target));
}
public static HtmlAnchor NewAnchor_blank(string text, string href, string classname, string title)
{
HtmlAnchor a = new HtmlAnchor();
a.InnerText = text;
a.HRef = href;
if (!string.IsNullOrEmpty(classname))
a.Attributes["class"] = classname;
if (!string.IsNullOrEmpty(title))
a.Title = title;
a.Target = "_blank";
return a;
}
public static string NewAnchor_blankString(string text, string href, string classname, string title)
{
return htmlControlToString(NewAnchor_blank(text, href, classname, title));
}
public static HtmlAnchor NewAnchor(string[] prams)
{
if (prams.Length % 2 != 0)
throw new Exception("参数数目不为偶数");
HtmlAnchor a = new HtmlAnchor();
for (int i = 0; i < prams.Length; i++)
{
a.Attributes[prams[i]] = prams[++i];
}
return a;
}
public static string NewAnchorString(string[] prams)
{
return htmlControlToString(NewAnchor(prams));
}
public static HtmlImage NewImage(string src, string classname, string alt)
{
HtmlImage img = new HtmlImage();
img.Src = src;
img.Attributes["class"] = classname;
img.Alt = alt;
return img;
}
public static string NewImageString(string src, string classname, string alt)
{
return htmlControlToString(NewImage(src, classname, alt));
}
public static HtmlImage NewImage(string[] prams)
{
if (prams.Length % 2 != 0)
throw new Exception("参数数目不为偶数");
HtmlImage img = new HtmlImage();
for (int i = 0; i < prams.Length; i++)
{
img.Attributes[prams[i]] = prams[++i];
}
return img;
}
public static string NewImageString(string[] prams)
{
return htmlControlToString(NewImage(prams));
}
#endregion
}
浙公网安备 33010602011771号