asp.net MVC中使用自定义HtmlForm控件动态生成表单
2011-05-17 17:14
736 查看
经测试System.Web.UI.HtmlControls下的HtmlForm类,也就是我们在传统的asp.net中使用的Form表单对象,不适合动态生成Html代码。
于是自定义了一个简单的HtmlForm容器控件,只需要几行代码。看来Asp.net在封装Html元素方面还是很有优势的,微软为我们定义了
大量的基础结构,很容易扩展使用。
使用很简单,直接new,然后向Controls集合中添加控件即可。
最后在View中,输出HTML代码到响应流。
结论:
动态生成HTML表单就是这么简单明了。我以前可是自己拼接过HTML,然后Write啊。善于利用框架提供的类可以有效的提高开放效率,
并且使代码的可读性良好。尤其是在做表格控件时,善用System.Web.UI.WebControls.Table控件,会很有帮助。很想知道PHP或其他
语言是否也有这些好用的基础设施呢?
于是自定义了一个简单的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或其他
语言是否也有这些好用的基础设施呢?
相关文章推荐
- [转]我要学ASP.NET MVC 3.0(十二): MVC 3.0 使用自定义的Html控件
- 我要学ASP.NET MVC 3.0(十二): MVC 3.0 使用自定义的Html控件
- ASP.NET MVC使用Echarts动态生成图表
- asp.net mvc动态生成file控件批量上传文件
- 一起谈.NET技术,ASP.NET MVC 2生成动态表单的一种最简单的思路
- SolpartMenu的使用:(二)、在ASP.NET页面中使用SolpartMenu控件之动态的加载数据库中的数据来生成菜单
- ASP.NET MVC 2生成动态表单的一种最简单的思路
- Asp.net中使用文本框的值动态生成控件的方法
- ASP.NET MVC 2生成动态表单的一种最简单的思路
- ASP.NET MVC 3.0(十二): MVC 3.0 使用自定义的Html控件
- SolpartMenu的使用:(二)、在ASP.NET页面中使用SolpartMenu控件之动态的加载数据库中的数据来生成菜单
- ASP.NET MVC 2生成动态表单的一种最简单的思路
- 使用Asp.net动态生成控件的使用总结
- Asp.net中使用文本框的值动态生成控件的方法
- asp.net mvc动态生成file控件批量上传文件 .
- ASP.NET MVC 使用总结(二)——扩展HtmlHelper实现动态生成title及meta
- ASP.NET MVC 2生成动态表单的一种最简单的思路
- Asp.net中使用文本框的值动态生成控件的方法
- ASP.NET MVC 使用总结(二)——扩展HtmlHelper实现动态生成title及meta
- ASP.NET MVC 六 Models中使用LINQ自动生成的实体类--(提交表单)