TagBuilder - закрывающие теги не работают

У меня проблема с пользовательским помощником HTML. Я пытаюсь создать помощника, используя TagBuilder, но не могу его закрыть.

Вот мой код:

 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 тег неверен. Я проверил версию DLL и попытался с MvcHtmlString и т. Д. Так же TagRenderMode не работает вообще.

Спасибо за помощь.

С наилучшими пожеланиями.

1 ответ

Попробуйте это, это сработало для меня. Нет необходимости использовать TagRenderMode.EndTag.

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());
        } 

Любой мой результат

<div style="display:inline-block"><input class="forDD" id="3" type="hidden" value="Cat"></input></div>
Другие вопросы по тегам