Лучший отвечающий
asp.net mvc

Вопрос
-
подскажите как можно передать ID и VALUE radiobutton'a в пост запросе если у меня их Несколько... и у каждого свой уникальный id
пример: *@html.RadioButton("name", "value", new {id = 1});
я легко могу получить значение ("value") получаю я ее с помощью параметра (formCollection), но мне также важно получить "ID"
12 июня 2013 г. 9:13
Ответы
-
Дело в том, что идентификаторы предназначены для элементов DOM, и они не передаются при POST запросе непосредственно, а передаются ключи типа имя-значение. Т.е. в данном случае передаётся имя элемента формы, поэтому чтобы их идентифицироать, надо назначить элементам разные имена. Т.е. вам нужно использовать Name вместо Id.
Да и поставьте в нике нормальное имя.
- Предложено в качестве ответа YatajgaEditor 13 июня 2013 г. 5:49
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 14 июня 2013 г. 6:00
12 июня 2013 г. 9:29Модератор -
Т.е. Вам надо нечто подобное
@Html.RadioButton("RadBtn1", "value", new { id = 1 }); @Html.RadioButton("RadBtn2", "value", new { id = 2 });
в данном случае RadBtn1 будет идентифицировать элемент, но это вудет атрибут name на клиенте.
<input id="1" name="RadBtn1" type="radio" value="value" /> <input id="2" name="RadBtn2" type="radio" value="value" />
- Предложено в качестве ответа YatajgaEditor 13 июня 2013 г. 5:49
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 14 июня 2013 г. 6:00
12 июня 2013 г. 9:57Модератор
Все ответы
-
Дело в том, что идентификаторы предназначены для элементов DOM, и они не передаются при POST запросе непосредственно, а передаются ключи типа имя-значение. Т.е. в данном случае передаётся имя элемента формы, поэтому чтобы их идентифицироать, надо назначить элементам разные имена. Т.е. вам нужно использовать Name вместо Id.
Да и поставьте в нике нормальное имя.
- Предложено в качестве ответа YatajgaEditor 13 июня 2013 г. 5:49
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 14 июня 2013 г. 6:00
12 июня 2013 г. 9:29Модератор -
Т.е. Вам надо нечто подобное
@Html.RadioButton("RadBtn1", "value", new { id = 1 }); @Html.RadioButton("RadBtn2", "value", new { id = 2 });
в данном случае RadBtn1 будет идентифицировать элемент, но это вудет атрибут name на клиенте.
<input id="1" name="RadBtn1" type="radio" value="value" /> <input id="2" name="RadBtn2" type="radio" value="value" />
- Предложено в качестве ответа YatajgaEditor 13 июня 2013 г. 5:49
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 14 июня 2013 г. 6:00
12 июня 2013 г. 9:57Модератор -
Т.е. Вам надо нечто подобное
@Html.RadioButton("RadBtn1", "value", new { id = 1 }); @Html.RadioButton("RadBtn2", "value", new { id = 2 });
А можно это сделать через @foreach ,что бы было как ниже.
@foreach (var row in db.Query(selectQueryString)){ <tr> <td><input type="radio" id="@row.Id" name="@row.Name" value="value"></td> <td>@row.Name</td> <td>@row.Itog</td> </tr> }
18 июня 2013 г. 17:23