本文實(shí)例講述了asp.net動(dòng)態(tài)生成HTML表單的方法。分享給大家供大家參考,具體如下:
經(jīng)測(cè)試System.Web.UI.HtmlControls
下的HtmlForm
類,也就是我們?cè)趥鹘y(tǒng)的asp.net中使用的Form表單對(duì)象,不適合動(dòng)態(tài)生成Html代碼。
于是自定義了一個(gè)簡(jiǎn)單的HtmlForm
容器控件,只需要幾行代碼??磥?lái)Asp.net在封裝Html元素方面還是很有優(yōu)勢(shì)的,微軟為我們定義了大量的基礎(chǔ)結(jié)構(gòu),很容易擴(kuò)展使用。
public class myHtmlForm:HtmlContainerControl{ public myHtmlForm(): base("form") { this.Attributes.Add("method", "post"); } public string Action { set { Attributes.Add("action", value); } }}
使用很簡(jiǎn)單,直接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代碼到響應(yīng)流。
form.RendControl(Writer);
結(jié)論:
動(dòng)態(tài)生成HTML表單就是這么簡(jiǎn)單明了。我以前可是自己拼接過(guò)HTML,然后Write啊。善于利用框架提供的類可以有效的提高開(kāi)放效率,并且使代碼的可讀性良好。尤其是在做表格控件時(shí),善用System.Web.UI.WebControls.Table
控件,會(huì)很有幫助。
希望本文所述對(duì)大家asp.net程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選