首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TagBuilder -结束标记不起作用

TagBuilder -结束标记不起作用
EN

Stack Overflow用户
提问于 2015-02-25 18:04:36
回答 1查看 1.6K关注 0票数 1

我有自定义html助手的问题。我尝试使用TagBuilder构建一个帮助器,但是我无法关闭它。

下面是我的代码:

代码语言:javascript
复制
 public static HtmlString CustomHelper(this HtmlHelper htmlHelper,
        string id)
    {
        var contentDiv = new TagBuilder("div");
        contentDiv.MergeAttribute("style", "display:inline-block");

        var input = new TagBuilder("input");
        input.AddCssClass("forDD");
        input.MergeAttribute("type", "hidden");
        input.MergeAttribute("id", id);
        input.MergeAttribute("value", "Cat");

        contentDiv.InnerHtml += input;


        return new HtmlString(contentDiv.ToString(TagRenderMode.EndTag));
    } 

但是它的结果看起来像是:

有些地方不对劲,但我找不到是什么地方,我错过了。甚至关闭input标签都是错误的。我已经检查了dlls的版本,并尝试使用MvcHtmlString等。此外,TagRenderMode根本不起作用。

谢谢你的帮助。

诚挚的问候。

EN

回答 1

Stack Overflow用户

发布于 2015-02-25 18:23:03

试试这个,它对我很有效。不需要使用TagRenderMode.EndTag。

代码语言:javascript
复制
public  HtmlString CustomHelper(  string id)
        {
            var contentDiv = new TagBuilder("div");
            contentDiv.MergeAttribute("style", "display:inline-block"); 
            var input = new TagBuilder("input");
            input.AddCssClass("forDD");
            input.MergeAttribute("type", "hidden");
            input.MergeAttribute("id", id);
            input.MergeAttribute("value", "Cat"); 
            contentDiv.InnerHtml += input;
            return new HtmlString(contentDiv.ToString());
        } 

我的结果是

代码语言:javascript
复制
<div style="display:inline-block"><input class="forDD" id="3" type="hidden" value="Cat"></input></div>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28716087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档