Asp.net mvc ASP.NET MVC如何将radiobutton选定值从视图传递到控制器
我有一组动态生成的单选按钮。我只想将所选值传递到我的控制器。我尝试了几件事,但都不管用。我只能获取表单为不同目的设置的隐藏字段值。 这些不起作用–它们不会返回任何信息:Asp.net mvc ASP.NET MVC如何将radiobutton选定值从视图传递到控制器,asp.net-mvc,Asp.net Mvc,我有一组动态生成的单选按钮。我只想将所选值传递到我的控制器。我尝试了几件事,但都不管用。我只能获取表单为不同目的设置的隐藏字段值。 这些不起作用–它们不会返回任何信息: var YourRadioButton2 = Request.Form["wc"]; string selectedTechnology = form["wc"]; 是否有办法将所选单选按钮传送到控制器。这些radiobutton值是动态生成的 景色 <%--wired choices--%> &
var YourRadioButton2 = Request.Form["wc"];
string selectedTechnology = form["wc"];
是否有办法将所选单选按钮传送到控制器。这些radiobutton值是动态生成的
景色
<%--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>
<%} %>
你的代码让我想起了以前使用web表单的日子。啊!!谢天谢地!。我们现在有了ASP.NETMVC,我们可以在MVC中以一种干净的方式完成这项工作 让我们开始为视图创建视图模型
public class Technology
{
public int Id { set; get; }
public string Name { set; get; }
}
public class CreateUserViewModel
{
[Required]
public int? SelectedTechnology { set; get; }
public List<Technology> Technologies { set; get; }
// Add other properties as needed by your view
public string UserName { set; get; }
}
现在在razor视图中,它是我们的CreateUserViewModel类的强类型
@model ReplaceYourNamespaceHere.CreateUserViewModel
@using (Html.BeginForm())
{
@Html.ValidationSummary()
<h4>Select a technology</h4>
foreach (var item in Model.Technologies)
{
<div> @Html.RadioButtonFor(s => s.SelectedTechnology, item.Id) @item.Name</div>
}
<input type="submit"/>
}
相信我,这就是:
如果要在“创建”或“编辑”视图上预选一个Radio N按钮,可以将SelectedTechnology属性值设置为要选择的技术的Id
var vm = new CreateUserViewModel();
vm.Technologies = GetTechnologyList();
vm.SelectedTechnology = 3 ; //replace with a non-hard coded value
return View(vm);
你的代码让我想起了以前使用web表单的日子。啊!!谢天谢地!。我们现在有了ASP.NETMVC,我们可以在MVC中以一种干净的方式完成这项工作 让我们开始为视图创建视图模型
public class Technology
{
public int Id { set; get; }
public string Name { set; get; }
}
public class CreateUserViewModel
{
[Required]
public int? SelectedTechnology { set; get; }
public List<Technology> Technologies { set; get; }
// Add other properties as needed by your view
public string UserName { set; get; }
}
现在在razor视图中,它是我们的CreateUserViewModel类的强类型
@model ReplaceYourNamespaceHere.CreateUserViewModel
@using (Html.BeginForm())
{
@Html.ValidationSummary()
<h4>Select a technology</h4>
foreach (var item in Model.Technologies)
{
<div> @Html.RadioButtonFor(s => s.SelectedTechnology, item.Id) @item.Name</div>
}
<input type="submit"/>
}
相信我,这就是:
如果要在“创建”或“编辑”视图上预选一个Radio N按钮,可以将SelectedTechnology属性值设置为要选择的技术的Id
var vm = new CreateUserViewModel();
vm.Technologies = GetTechnologyList();
vm.SelectedTechnology = 3 ; //replace with a non-hard coded value
return View(vm);
你需要将单选按钮放在一个带有按钮的表单中,当按钮被触发时,单选按钮的值应该发送给控制器,否则我认为Ajax也是一个很好的使用方法。但是,你需要在表单中有一个单选按钮,当按钮被触发时,单选按钮的值应该被发送到控制器,否则我认为Ajax也是一个很好的使用方法。然后你把价值贴到Ajax上,从Ajax贴到controller上。嗨,谢谢你的指导。这看起来很有希望。在开始实现之前,我必须询问您在razor中编码的视图是否在aspx中仍然有效?因为我的项目很大,是用aspx而不是razor完成的。你能提供相同的aspx语法吗?很棒的解决方案,为我完美地修复了它!我总是告诉自己,如果模型设置正确,一切都会像融化的巧克力河一样流动!谢谢Shyju!嗨,谢谢你的指导。这看起来很有希望。在开始实现之前,我必须询问您在razor中编码的视图是否在aspx中仍然有效?因为我的项目很大,是用aspx而不是razor完成的。你能提供相同的aspx语法吗?很棒的解决方案,为我完美地修复了它!我总是告诉自己,如果模型设置正确,一切都会像融化的巧克力河一样流动!谢谢Shyju!