【发布时间】:2015-11-30 09:35:00
【问题描述】:
我有一组动态生成的单选按钮。我只想将选定的值传递给我的控制器。我尝试了几件事,但它不起作用。我只能获取表单为不同目的设置的隐藏字段值。 这些不起作用——它们什么也不返回:
var YourRadioButton2 = Request.Form["wc"];
string selectedTechnology = form["wc"];
有没有办法可以将选定的单选按钮传递给控制器。这些单选按钮值是动态生成的。
视图
<%--wired choices--%>
<tr > Wired Choices </tr>
<% for (var i = 0; i < subform.wiredchoices.Count; i++) %>
<%{ %>
<tr>
<td> <input type="radio" name="wc" value="<%: subform.wiredchoices.ElementAt(i).WiredChoiceItem %>" > </td>
<td><%: subform.wiredchoices.ElementAt(i).WiredChoiceItem %> </td>
控制器
if (rcpt.Form.Is("VoIP"))
{
Response.Write("<br />" + "wc " + wc);
List<String> listValues = new List<String>();
foreach (string key in Request.Form.AllKeys)
{
listValues.Add(Request.Form[key]);
Response.Write("<br />" + "first values " + Request.Form[key]);
}
// Loop through every checkbox
foreach (var key2 in form.AllKeys)
{
Response.Write("<br />" + "second values " + key2);
}
//See Radiobutton selections
var YourRadioButton = Request.Form["wc"];
Response.Write("<br />" + "YourRadioButton " + YourRadioButton);
string selectedTechnology = form["wc"];
Response.Write("<br />" + "YourRadioButton " + selectedTechnology);
var YourRadioButton2 = Request.Form["wlc"];
Response.Write("<br />" + "YourRadioButton " + YourRadioButton2);
string selectedTechnology2 = form["wlc"];
Response.Write("<br />" + "YourRadioButton " + selectedTechnology2);
Response.Write("<br />" + "VoIP Hire ");
String wiredChoice = "test"; //assign value from radio button here
String wiredLessChoice = "test"; //assign value from radio button here
// Stor e submitting page to return to
ViewData["ReturnUrl"] = fields.formType;
</tr>
<%} %>
【问题讨论】:
-
U 需要在带有 Button 的表单内有单选按钮,当 Button 被触发时,单选按钮的值应该被发送到控制器,否则我认为 Ajax 也是一个很好的使用习惯。但是然后你将值发布到 Ajax 并从 Ajax 发布到控制器。
标签: asp.net-mvc