本文实例讲述了asp.net动态生成HTML表单的方法。分享给大家供大家参考,具体如下:
经测试System.Web.UI.HtmlControls
下的HtmlForm
类,也就是我们在传统的asp.net中使用的Form表单对象,不适合动态生成Html代码。
于是自定义了一个简单的HtmlForm
容器控件,只需要几行代码。看来Asp.net在封装Html元素方面还是很有优势的,微软为我们定义了大量的基础结构,很容易扩展使用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public class myHtmlForm:HtmlContainerControl
{
public myHtmlForm(): base ( "form" )
{
this .Attributes.Add( "method" , "post" );
}
public string Action
{
set
{
Attributes.Add( "action" , value);
}
}
}
|
使用很简单,直接new,然后向Controls集合中添加控件即可。
1
2
3
4
5
6
|
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代码到响应流。
1
|
form.RendControl(Writer);
|
结论:
动态生成HTML表单就是这么简单明了。我以前可是自己拼接过HTML,然后Write啊。善于利用框架提供的类可以有效的提高开放效率,并且使代码的可读性良好。尤其是在做表格控件时,善用System.Web.UI.WebControls.Table
控件,会很有帮助。
希望本文所述对大家asp.net程序设计有所帮助。