asp.net mvc tagbuilder.setinnertext () 텍스트를 올바르게 설정하지 않음
-
10-07-2019 - |
문제
따라서 htmlhelper 확장 메소드를 만들고 있으며 tagbuilder.setinnertext ()를 사용할 때 문제가 발생했습니다. 도우미는 옵션 태그를 출력합니다. 다음은 도우미의 출처입니다.
public static string Option(this HtmlHelper helper, string value, string text, object htmlAttributes) {
TagBuilder tagBuilder = new TagBuilder("option");
tagBuilder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
tagBuilder.MergeAttribute("value", value);
tagBuilder.SetInnerText(text);
return tagBuilder.ToString(TagRenderMode.SelfClosing);
}
내 견해로는 전화합니다
<%= Html.Option("value", "text", new { }) %>
그러나 태그의 내부 텍스트는 설정되지 않았고 나는
<option value="value"> </option>
SetInnerText ()가 텍스트를 올바르게 설정하지 않는 이유에 대한 아이디어가 있습니까?
감사.
해결책
return tagBuilder.ToString(TagRenderMode.SelfClosing) - is the problem
그것은 출력을 시도합니다 <option value="" />
, 내부 텍스트를 삽입 할 곳이없는 곳.
만들기 :
return tagBuilder.ToString(TagRenderMode.Normal)
다른 팁
나는 그것이 올바른 사용 방법이라고 생각합니다 InnerText
아래입니다. 설정해야합니다 InnerText
태그를 만들고 추가 속성을 정의한 후에.
TagBuilder tagBuilder = new TagBuilder("select")
{
InnerHtml = "set Anything"
};
tagBuilder.MergeAttribute("value", value);
제휴하지 않습니다 StackOverflow