好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

动态生成HTML表单

动态生成HTML表单

经测试System.Web.UI.HtmlControls下的HtmlForm类,也就是我们在传统的asp.net中使用的Form表单对象,不适合动态生成Html代码。

于是自定义了一个简单的HtmlForm容器控件,只需要几行代码。看来Asp.net在封装Html元素方面还是很有优势的,微软为我们定义了

大量的基础结构,很容易扩展使用。

public class myHtmlForm:HtmlContainerControl
{
public myHtmlForm()
: base ( " form " )
{

this .Attributes.Add( " method " , " post " );
}

public string Action
{
set
{
Attributes.Add( " action " , value);
}
}
}

使用很简单,直接new,然后向Controls集合中添加控件即可。

myHtmlForm form = new myHtmlForm();
form.ID = " myform " ;
form.Action = " test.aspx " ;
HtmlInputHidden hidf = new HtmlInputHidden();
hidf.ID = hidf.Name = " hidden " ;
form.Controls.Add(hidf);

最后在View中,输出HTML代码到响应流。

form.RendControl(Writer);

结论:

动态生成HTML表单就是这么简单明了。我以前可是自己拼接过HTML,然后Write啊。善于利用框架提供的类可以有效的提高开放效率,

并且使代码的可读性良好。尤其是在做表格控件时,善用System.Web.UI.WebControls.Table控件,会很有帮助。很想知道PHP或其他

语言是否也有这些好用的基础设施呢?

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于动态生成HTML表单的详细内容...

  阅读:42次