+133
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
//You can assign Values to the ASPNET RadioButton like this way:
protected void Page_Load(object sender, EventArgs e)
{
RadioButton1.Attributes.Add("value", "ASPNET");
}
//Then you can access the value this way:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(RadioButton1.Attributes["value"].ToString());
}
сегодня для меня стало новостью, что у высокоуровневого контрола asp.net web form RadioButton, который по сути рендерится в <input type="radio">, нет атрибута value.
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.radiobutton(v= vs.110).aspx да, его нет.
но сначала я подумал, что все же может это я кривой и не туда смотрю, а потом нахожу велосипед, который предлагает MVP http://forums.asp.net/t/1379187.aspx?Why+does+an+ASP+NET+RadioBu tton+control+not+have+a+property+to+prog ramatically+set+the+value+attribute+
Запостил: Lokich,
02 Сентября 2014
blackhearted 03.09.2014 15:23 # 0
Lokich 03.09.2014 15:35 # +2
ок, представим
когда делаем sumbit браузер передает все input элементы формы, и в случае с radio он берет значение элемента из группы, и передает его значение. в данном случае может быть sex=male или sex=female.
соответственно, добавил несколько радиобатанов на страницу, присвоил им значение, пользователь "клац-клац" и передает нужно.
в случае же с ASP.NET WebForms это не так. он передает тот элемент, который был отмечен, и чтобы понять какой именно, я должен все их перебрать, и выбрать тот, у которого Checked == true;
и опять же, чтобы получить мне value, который нужен, я должен руками перед тем, как страница рендерится пользователю руками в коде (не в разметке, как у нормальных потсанов) сначала добавить value, а уже потом, после срабатывания события прочитать аттрибут value у этого радиобатана.
если говорить например о ASP.NET MVC, но я просто пишу контроллер , у которого
и просто работать с тем, что пользователь выбрал.