Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.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# C ASP.NET Web API以HTML格式创建枚举下拉列表_C#_Html_Asp.net_Rest_Asp.net Mvc 4 - Fatal编程技术网

C# C ASP.NET Web API以HTML格式创建枚举下拉列表

C# C ASP.NET Web API以HTML格式创建枚举下拉列表,c#,html,asp.net,rest,asp.net-mvc-4,C#,Html,Asp.net,Rest,Asp.net Mvc 4,Grrr我对此有很多问题。希望有人能帮忙。在你回答之前,请记住我已经搜索过了,找到了很多关于这个的话题 目前,我正在尝试使用一个典型的POST请求来填充HTML表单。第一次这样做时,我通常是一个很好的程序员,但是ASP.NETWebAPI中的这个web服务东西正因为奇怪的特性而扼杀着我。“我的下拉列表”应包含以下枚举作为可选择的值: public enum FuelTypes { Gasoline = 0, Diesel = 1 }; 是的,在控制器中调用视图时,我已确保传入模

Grrr我对此有很多问题。希望有人能帮忙。在你回答之前,请记住我已经搜索过了,找到了很多关于这个的话题

目前,我正在尝试使用一个典型的POST请求来填充HTML表单。第一次这样做时,我通常是一个很好的程序员,但是ASP.NETWebAPI中的这个web服务东西正因为奇怪的特性而扼杀着我。“我的下拉列表”应包含以下枚举作为可选择的值:

public enum FuelTypes
{
    Gasoline = 0,
    Diesel = 1
};
是的,在控制器中调用视图时,我已确保传入模型实例

在调试模式下不断中断的行在HTML中,您可以看到,为了清晰起见,我在下面对其进行了注释:

@Html.DropDownListFor(model => model.FuelId, Model.FuelTypesList, "--Fuel Type--")
所以这次一定是出了什么问题。请看我下面分别用C和HTML编写的相关代码:

另外,任何其他的提示,以改善我已经有将是伟大的!我对这件事很陌生。但我需要能够得到这些下拉值来填充和显示。然后,我必须从HttpWrapper对象中创建相关对象,该对象包含所有正在发布的数据

提前谢谢

我的模型:

我的控制器:

包含HTML/JavaScript的我的视图:


我相信你已经找到了解决问题的办法

否则,这是一个有效的解决方案

Html.DropDownListFor(o => o.EnumProperty, Enum.GetValues(typeof(enumtype)).Cast<enumtype>().Select(x => new SelectListItem { Text = x.ToString(), Value = ((int)x).ToString() }))

在这里找到的我相信你已经找到了解决问题的办法

否则,这是一个有效的解决方案

Html.DropDownListFor(o => o.EnumProperty, Enum.GetValues(typeof(enumtype)).Cast<enumtype>().Select(x => new SelectListItem { Text = x.ToString(), Value = ((int)x).ToString() }))

在这里找到它

您能详细解释一下吗,我检查了您的代码。最初没有呈现任何内容,我删除了[HttpPost]属性,然后表单呈现。您好,我在Visual Studio 2015中运行所有内容时遇到以下异常:System.NullReferenceException未由用户代码HResult=-2147467261 Message=对象引用未设置为对象的实例处理。Source=App\u Web\u bkzznufe StackTrace:at ASP.\u Page\u Views\u Home\u Index\u cshtml.Execute in c:\users\brad\documents\visualstudio 2015\Projects\autosout24\AutoWebService\Views\Home\Index.cshtml:33行您可以共享代码解决方案吗?当然可以。我怎样才能发送给你呢?通过在这里张贴代码文件,你能更详细地解释一下吗?我检查了你的代码。最初没有呈现任何内容,我删除了[HttpPost]属性,然后表单呈现。您好,我在Visual Studio 2015中运行所有内容时遇到以下异常:System.NullReferenceException未由用户代码HResult=-2147467261 Message=对象引用未设置为对象的实例处理。Source=App\u Web\u bkzznufe StackTrace:at ASP.\u Page\u Views\u Home\u Index\u cshtml.Execute in c:\users\brad\documents\visualstudio 2015\Projects\autosout24\AutoWebService\Views\Home\Index.cshtml:33行您可以共享代码解决方案吗?当然可以。如何发送给您?通过在此处张贴代码文件
<div id="body">
    <ul id="caradvertisements"></ul>
</div>

<form id="saveCarAdvertisementForm" method="POST">
    <h3>Create A New Car Advertisement</h3>
    <p>
        <label for="New">New or Used:</label>
        <div align="left">
            <select name="mydropdown">
                <option value="New">New</option>
                <option value="Used">Used</option>
            </select>
        </div>
    </p>
    <p>
        <label for="Id">Car Id:</label>
        <input type="text" name="Id" />
    </p>
    <p>
        <label for="Title">Car Title:</label>
        <input type="text" name="Title" />
    </p>
    <p>
        @model AutoWebService.Models.FuelModel
        @{
            ViewBag.Title = "Index";
        }
        @Html.LabelFor(model => model.FuelId)
        @Html.DropDownListFor(model => model.FuelId, Model.FuelTypesList)
        @Html.DropDownListFor(model => model.FuelId, Model.FuelTypesList, "--Fuel Type--")

         <div align="left">
            <label for="Fuel">Car Fuel Type:</label>
            <select name="mydropdown">
                <option value="Gasoline">Gasoline</option>
                <option value="Diesel">Diesel</option>
            </select>
        </div>
    </p>
    <p>
        <label for="Price">Car Price:</label>
        <input type="text" name="Price" />
    </p>
    <input type="button" id="saveCarAdvertisement" value="Save" />
</form>

@section scripts{
<script type="text/javascript">
$(function()
{
    $.getJSON('/api/caradvertisement', function(caradvertisementsJsonPayload)
    {
        $(caradvertisementsJsonPayload).each(function (i, item)
        {
            $('#caradvertisements').append('<li>' + item.Name + '</li>');
        });
    });
});
$('#saveCarAdvertisement').click(function ()
{
    $.post("api/caradvertisement",
          $("#saveCarAdvertisementForm").serialize(),
          function (value)
          {
              $('#caradvertisements').append('<li>' + value.Name + '</li>');
          },
          "json"
    );
});
</script>
}
Html.DropDownListFor(o => o.EnumProperty, Enum.GetValues(typeof(enumtype)).Cast<enumtype>().Select(x => new SelectListItem { Text = x.ToString(), Value = ((int)x).ToString() }))