zoukankan      html  css  js  c++  java
  • asp.net MVC中使用自定义HtmlForm控件动态生成表单

    经测试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或其他

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

  • 相关阅读:
    利用Python获取文件类型
    删除目录和文件
    创建目录和空文件
    读取文件内容
    sort方法
    python实例5-表格打印
    ngx.lua中遇到的小问题
    mysql 更改自动增长字段值的重新设定
    全面讲解进程池原理
    测试工程师Docker基础
  • 原文地址:https://www.cnblogs.com/hjblog/p/2049092.html
Copyright © 2011-2022 走看看