При вызове функции следуйте этому примеру return false
:
<input type="submit" value="Add" onclick="addNewPayment();return false;">
Я, наконец, обошел это, создав обычную радиокнопку и установив значение с помощью серверной оценки.
<input type="radio" name="radCustomer" value='<%#Eval("CustomerNumber") %>' />
Теперь, когда приложение выполняет постбэк, я проверяю значение Request.Form["radCustomer"]. Это работает безупречно.
К сожалению, это хорошо известная проблема с переключателями внутри ретранслятора . Один из ваших единственных вариантов - создать собственный серверный элемент управления, производный от класса RadioButton, и переопределить способ его визуализации.
РЕДАКТИРОВАТЬ : Вот пример того, как может выглядеть производный класс:
public class MyRadioButton : RadioButton
{
protected override void Render(HtmlTextWriter writer)
{
writer.Write("<input id=\"" + base.ClientID + "\" ");
writer.Write("type=\"radio\" ");
writer.Write("name=\"" + base.ID + "\" ");
writer.Write("value=\"" + base.ID + "\" />");
writer.Write("<label for=\"" + base.ClientID + "\">");
writer.Write(base.Text);
writer.Write("</label>");
}
}
Я бы начал с добавления значения в свой радиокнопку Value = '<% # Eval ("CustomerNumber")%>'.