首页 > 解决方案 > 无法使用剃须刀页面在 asp.netcore 中保存下拉列表

问题描述

让我知道这里出了什么问题,从下拉菜单中选择并单击保存后我无法保存

<label asp-for="application.number" class="control-label"></label>
                       <select class="form-control" name="Tower">
                           <option>Select Tower</option>
                           <option>numbers</option>

                           <option>1</option>
                           <option>2</option>
                           <option>3</option>

我想我在以下模型中遇到了错误

 @Html.DisplayFor(modelItem => item.Tower)

标签: asp.net-mvcasp.net-core

解决方案


从下拉列表中选择并单击保存后,我无法保存

您可以为元素设置value属性。<option>此外,您可以参考以下示例来修改您的代码。

<form method="post">
    <label asp-for="application.number" class="control-label"></label>: @Model.application.number
    <select class="form-control" name="Tower">
        <option>Select Tower</option>
        <option>numbers</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>
    <input type="submit" value="Save" />
</form>

在页面模型类中

public class TestModel : PageModel
{
    [BindProperty]
    public int Tower { get; set; }
    public MyClass application { get; set; }
    public void OnGet()
    {
        application = new MyClass { number = 0 };
    }

    public IActionResult OnPost()
    {
        //code logic here to save the selected value

        application = new MyClass { number = Tower };
        return Page();
    }
}

public class MyClass
{
    public int number { get; set; }
}

测试结果

在此处输入图像描述


推荐阅读