name="..."
属性が HtmlInputButton の一部としてレンダリングされないようにするにはどうすればよいですか?
コード:
var button = new System.Web.UI.HtmlControls.HtmlInputButton();
button.Value = "abc";
レンダリングされた HTML:
<input name="ctl00$AppName_Content$ctl01" type="button" value="abc"/>
name="..."
属性が HtmlInputButton の一部としてレンダリングされないようにするにはどうすればよいですか?
コード:
var button = new System.Web.UI.HtmlControls.HtmlInputButton();
button.Value = "abc";
レンダリングされた HTML:
<input name="ctl00$AppName_Content$ctl01" type="button" value="abc"/>
render メソッドをオーバーライドして、属性が追加されないようにすることができます。
private class RemoveNamesHtmlTextWriter : HtmlTextWriter
{
public override void WriteAttribute(string name, string value, bool fEncode)
{
if (name.Equals("name", StringComparison.OrdinalIgnoreCase)) return;
return;
base.WriteAttribute(name, value, fEncode);
}
}
protected override void Render(HtmlTextWriter writer)
{
var RemoveNamesWriter = new RemoveNamesHtmlTextWriter(writer);
base.Render(RemoveNamesWriter);
}
詳細については、こちらを参照してください: 「名前」属性を削除する方法