加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 滚动我自己的@ Html.BeginfBrm()

发布时间:2020-12-16 00:19:03 所属栏目:asp.Net 来源:网络整理
导读:我正在编写一个自定义验证集,它将显示div上所有缺少的元素.我希望能够使用一个自定义的@ Html.BeginForm()方法来写出那个div,但我真的不知道从哪里开始,因为这个坚果比一个html扩展更难以破解写出一个标签或字符串(表单封装数据/控件,最后由}关闭). 我查看了
我正在编写一个自定义验证集,它将显示div上所有缺少的元素.我希望能够使用一个自定义的@ Html.BeginForm()方法来写出那个div,但我真的不知道从哪里开始,因为这个坚果比一个html扩展更难以破解写出一个标签或字符串(表单封装数据/控件,最后由}关闭).

我查看了内置的BeginForm()方法的元数据版本,这对我没什么帮助.本质上,我只是想扩展该方法,如果可能的话,让它写出一个将在JavaScript中显示/隐藏的div的MvcHtmlString.

最终我正在努力解决的问题是如何编写这个具有开始和结束组件的自定义助手.

@using(Html.BeginForm())
{
...

}

我希望能够做到这样的事情:

@using(Html.VBeginForm())
{
...

}

并有渲染我的额外HTML

编辑:从下面的建议添加代码

public class VBeginForm : IDisposable
{
    private readonly HtmlHelper _helper;
    public VBeginForm(HtmlHelper htmlHelper,string areaName)
    {
        _helper = htmlHelper;
        var container = new TagBuilder("form");
        container.GenerateId(areaName);
        var writer = _helper.ViewContext.Writer;
        writer.Write(container.ToString(TagRenderMode.StartTag));
    }

    public void Dispose()
    {
        _helper.ViewContext.Writer.Write("</form>");
    }
}

解决方法

您需要为打印到helper.ViewContext.Writer的HtmlHelper类编写扩展方法.

该方法应返回一个IDisposable,在其Dispose方法中打印结束标记.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读