我有自定义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标签都是错误的。我已经检查了dlls的版本,并尝试使用MvcHtmlString等。此外,TagRenderMode根本不起作用。
谢谢你的帮助。
诚挚的问候。
发布于 2015-02-25 18:23:03
试试这个,它对我很有效。不需要使用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>https://stackoverflow.com/questions/28716087
复制相似问题