2013-06-12 2 views
0

Как предотвратить атрибут name="..." от рендеринга как часть HtmlInputButton?Предотвращение отклонения имени = "" в HtmlInputButton

Код:

var button = new System.Web.UI.HtmlControls.HtmlInputButton(); 
button.Value = "abc"; 

Вынесено HTML:

<input name="ctl00$AppName_Content$ctl01" type="button" value="abc"/> 
+0

Это может помочь вам: [ 'Как удалить 'имя' attribute'] (http://stackoverflow.com/a/4424499/1042848) –

+0

Это сделало трюк. Благодарю. общественного переопределения недействительным WriteAttribute (имя строки, значение строки, BOOL fEncode) { если (имя == «имя) возвращение; base.WriteAttribute (имя, значение, fEncode); }. – Mark

+0

Рад, что помог !! я просто добавили его в качестве ответа, чтобы вы могли принять его, если хотите. –

ответ

0

Вы можете переопределить метод визуализации и предотвратить атрибут от добавления.

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

Вы можете обратиться здесь для получения дополнительной информации: How to remove 'name' attribute

Смежные вопросы