인사말!사용자 지정 서버 컨트롤의 태그에서 CSS 클래스 특성 제거
내가 다음 렌더링 할 수있는 사용자 정의 버튼 클래스를 만들었습니다그러나
<span class="btnOrange">
<input type="submit" id="ctl00_MainContent_m_GoBack" value="Back" name="ctl00$MainContent$m_GoBack"/>
</span>
, 그것은 (입력 태그의 외부 "클래스"속성을 참고) 대신에 다음과 같이 렌더링 :
<span class="btnOrange">
<input type="submit" class="btnOrange" id="ctl00_MainContent_m_GoBack" value="Back" name="ctl00$MainContent$m_GoBack"/>
</span>
내 사용자 정의 버튼 클래스는 다음과 같습니다
[ToolboxData(@"<{0}:MyButton runat=server></{0}:MyButton>")]
public class MyButton : Button
{
public override void RenderBeginTag(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, this.CssClass);
writer.RenderBeginTag("span");
base.RenderBeginTag(writer);
}
public override void RenderEndTag(HtmlTextWriter writer)
{
writer.RenderEndTag();
base.RenderEndTag(writer);
}
}
난 단지 CLA를 설정해야하기 때문에 SPAN 태그에 대한 s 속성을 사용하면 INPUT 태그에 대한 클래스 속성을 포함시키지 않거나 "비워 둘 수 있습니까?"
불행하게도, writer 객체에는 "RemoveAttribute"메서드 등이 없습니다. writer.AddAttribute (HtmlTextWriterAttribute.Class, "")를 호출하면 실제로 INPUT 태그에 두 개의 CLASS 특성이 만들어집니다. 하나는 값이 "btnOrange"이고 다른 하나는 빈 값입니다. – Bullines