2012-05-11 4 views
-1

Я пытаюсь группы радиокнопок вместе с Groupname собственности .. Это не работает из-за соглашения об именовании в asp.net во время рендеринга ..радио кнопку Группировка asp.net

поэтому я попытался унаследованной управления RadioButton и перекрытая RadioButton и создала свой собственный контроль ..

он решил группирования проблемы, но ее не заботясь о ViewState по какой-то причине ... так что все мои радиокнопки находятся в ViewState меньше ..

вот мой код:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Web.UI.WebControls; 
using System.Web.UI; 

namespace CustomControl 
{ 
    public class GroupRadioButton : RadioButton 
    { 
     public GroupRadioButton() 
      : base() 
     { } 

     protected override void Render(HtmlTextWriter writer) 
     { 
      base.Render(new GroupedRadioButtonTextWriter(writer,this.GroupName)); 
     } 
    } 

    public class GroupedRadioButtonTextWriter : HtmlTextWriter 
    { 
     private string groupName; 

     public GroupedRadioButtonTextWriter(HtmlTextWriter baseWriter, string groupName) : base(baseWriter) 
     { 
      this.groupName = groupName; 
     } 

     public override void AddAttribute(HtmlTextWriterAttribute key, string value) 
     { 
      if (key == HtmlTextWriterAttribute.Name) 
      { 
       base.AddAttribute(key, this.groupName); 
      } 
      else 
      { 
       base.AddAttribute(key, value); 
      } 
     } 
    } 
} 

Может ли кто-нибудь помочь?

+1

Можете ли вы объяснить, каким образом свойство GroupName на RadioButton не работает для вас? Работает как прелесть для меня (по крайней мере, когда я использовал WebForms). Какую версию ASP.NET WebForms вы используете (я просто проверил с 4.0) – Mirko

+3

Вы пробовали RadioButtonList? Это создаст группу радиообъектов. Все, что вам нужно сделать, это связать источник данных с ним. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.radiobuttonlist.aspx – SCB

ответ

1

Я думаю, что вы неправильно использовали свое время, реализовав свой собственный переключатель, учитывая тот факт, что RadioButtonList - это компонент, который вы должны использовать.

+0

Список радиообъектов не будет устранять проблему, потому что кнопка находится в другом месте в форме. :( группировка переключателей по-прежнему не работает. –