Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Razor DropDownListFor-将选项值转换为双精度_C#_Asp.net Mvc_Asp.net Mvc 4_Razor - Fatal编程技术网

C# Razor DropDownListFor-将选项值转换为双精度

C# Razor DropDownListFor-将选项值转换为双精度,c#,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,我用的是MVC4 我在Razor视图中有以下元素: 在模型中,具有以下功能: public struct RugItem { public float value { get; set; } public string name { get; set; } } public float Planning_Control_Resi1 { get; set; }

我用的是MVC4

我在Razor视图中有以下元素:

在模型中,具有以下功能:

         public struct RugItem
         {
             public float value { get; set; }
             public string name { get; set; }
         } 
         public float Planning_Control_Resi1 { get; set; }
         public IEnumerable<SelectListItem> Planning_Control_Resi1List
         {
             get
             {
                 List<RugItem> listItems = new List<RugItem>();
                 float valuef = 0.05f;
                 for (int i = 0; i <= 20; i++)
                 {
                     listItems.Add(new RugItem
                     {
                         name = valuef + "",
                         value = valuef
                     });
                     valuef += 0.05f;
                 }
                 return new SelectList(listItems, "value", "name");
             }
         }
表格全文如下:

@using (Html.BeginForm("RunRug", "Impressions", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @Html.LabelFor(m => m.Planning_Control_Resi1, "Planning_Control_Resi1")
    @Html.DropDownListFor(m => m.Planning_Control_Resi1, Model.Planning_Control_Resi1List)
    <br />
    <input type="hidden" name="cookie_token" id="cookie_token" />
    <input type="submit" value="Run Rug"  />
}
前面代码生成的HTML是:

<option value="0,05">0,05</option>
<option value="0,1">0,1</option>
<option value="0,15">0,15</option>
<option value="0,2">0,2</option>
我的十进制符号区域设置为,无法更改。问题是该值没有发送回控制器,因为它无法将字符串格式0,05转换为双精度

在DropDownListFor元素中,如何将选项的值从字符串转换为双精度


谢谢,

您的意思是您收到客户端验证错误,导致您无法提交表单吗?不,我没有收到任何验证错误,但表单操作不再调用。您没有显示表单:是否启用了客户端验证?显示更多视图,以便我们了解问题所在。如果1服务器区域性接受逗号作为十进制分隔符,2客户端验证被禁用,或者您为number重写了validator方法,那么您的代码可以正常工作。您在web.config`文件中指定了什么区域性?控制器中的代码可以是List listItems=new List;浮动值f=0.05f;对于int i=0;我
<option value="0,05">0,05</option>
<option value="0,1">0,1</option>
<option value="0,15">0,15</option>
<option value="0,2">0,2</option>