Asp.net mvc 将RadioButton值传递给控制器
我试图将一个单选按钮值传递给控制器。然而,我似乎不知道如何获得我传递的值。我不知道如何处理控制器 我用来保持价值的模型Asp.net mvc 将RadioButton值传递给控制器,asp.net-mvc,asp.net-mvc-3,razor,Asp.net Mvc,Asp.net Mvc 3,Razor,我试图将一个单选按钮值传递给控制器。然而,我似乎不知道如何获得我传递的值。我不知道如何处理控制器 我用来保持价值的模型 public class PendingTasksModel { public string environmentName { get; set; } } 看法 @Html.radioButton(model=>model.environmentName,“OAK”) 橡树 @Html.RadioButton(model=>model.environmentNam
public class PendingTasksModel
{
public string environmentName { get; set; }
}
看法
@Html.radioButton(model=>model.environmentName,“OAK”)
橡树
@Html.RadioButton(model=>model.environmentName,“QA”)
质量保证
@Html.radioButton(model=>model.environmentName,“PROD”)
戳
控制器
public ActionResult InitializeService(PendingTaskModel model)
{
_binding = new BasicHttpBinding();
if (model.environmentName == "OAK")
{
_endpointAddress = new EndpointAddress(ConfigurationManager.AppSettings["OAK"]);
}
else if (model.environmentName == "PROD")
{
_binding.Security.Mode = BasicHttpSecurityMode.Transport;
_endpointAddress = new EndpointAddress(ConfigurationManager.AppSettings["PROD"]);
}
else
{
_binding.Security.Mode = BasicHttpSecurityMode.Transport;
_endpointAddress = new EndpointAddress(ConfigurationManager.AppSettings["QA"]);
}
_channel = new ChannelFactory<IEisIntegrationService>(_binding, _endpointAddress);
try
{
_target = _channel.CreateChannel();
}
catch
{
if (_target != null)
{
((ICommunicationObject)_target).Abort();
}
}
return View();
}
PublicActionResult InitializeService(PendingTaskModel模型)
{
_binding=新的BasicHttpBinding();
如果(model.environmentName==“OAK”)
{
_endpointAddress=新的endpointAddress(ConfigurationManager.AppSettings[“OAK”]);
}
else if(model.environmentName==“PROD”)
{
_binding.Security.Mode=BasicHttpSecurityMode.Transport;
_endpointAddress=新的endpointAddress(ConfigurationManager.AppSettings[“PROD”]);
}
其他的
{
_binding.Security.Mode=BasicHttpSecurityMode.Transport;
_endpointAddress=新的endpointAddress(ConfigurationManager.AppSettings[“QA”]);
}
_通道=新的通道工厂(_绑定,_端点地址);
尝试
{
_target=_channel.CreateChannel();
}
抓住
{
如果(_target!=null)
{
((ICommunicationObject)_target).Abort();
}
}
返回视图();
}
为了让MVC基础设施自动将表单字段连接到控制器,您需要确保参数名称和类型匹配。尝试将string选项
参数更改为PendingTasksModel模型
,然后在if语句中选中model.environmentName
。或者,将string选项
更改为string环境名称
好的,我做了上述更改。然而,由于某些原因,似乎从未到达InitializeService方法。我必须在我的视图中使用@Html.Action还是什么?你有BeginForm和submit按钮吗?
public ActionResult InitializeService(PendingTaskModel model)
{
_binding = new BasicHttpBinding();
if (model.environmentName == "OAK")
{
_endpointAddress = new EndpointAddress(ConfigurationManager.AppSettings["OAK"]);
}
else if (model.environmentName == "PROD")
{
_binding.Security.Mode = BasicHttpSecurityMode.Transport;
_endpointAddress = new EndpointAddress(ConfigurationManager.AppSettings["PROD"]);
}
else
{
_binding.Security.Mode = BasicHttpSecurityMode.Transport;
_endpointAddress = new EndpointAddress(ConfigurationManager.AppSettings["QA"]);
}
_channel = new ChannelFactory<IEisIntegrationService>(_binding, _endpointAddress);
try
{
_target = _channel.CreateChannel();
}
catch
{
if (_target != null)
{
((ICommunicationObject)_target).Abort();
}
}
return View();
}