Asp.net mvc 如何将begin表单中的dropdownlist值发送到控制器

Asp.net mvc 如何将begin表单中的dropdownlist值发送到控制器,asp.net-mvc,Asp.net Mvc,我想将所选下拉列表项值传递给控制器,我可以发送日期选择器值,但不能发送下拉列表项值 看法 模型 您能显示您试图将表单绑定到的模型吗?我试图只传递一个字符串值,如100110021003…..在下拉列表中,这些值将出现。是的,但您使用的是MVC(模型、视图、控制器),因此应该设置一个类来绑定您的提交。应该包含这三个参数(fromDate、toDate和DeviceID)作为属性。另一个可能导致下拉列表不绑定的原因是您没有使用选择列表(带有与值相关的选项标记的选择标记)。为什么要使用操作链接?仅供参

我想将所选下拉列表项值传递给控制器,我可以发送日期选择器值,但不能发送下拉列表项值

看法

模型


您能显示您试图将表单绑定到的模型吗?我试图只传递一个字符串值,如100110021003…..在下拉列表中,这些值将出现。是的,但您使用的是MVC(模型、视图、控制器),因此应该设置一个类来绑定您的提交。应该包含这三个参数(fromDate、toDate和DeviceID)作为属性。另一个可能导致下拉列表不绑定的原因是您没有使用选择列表(带有与值相关的选项标记的选择标记)。为什么要使用操作链接?仅供参考,我已经添加了模型详细信息,但我认为这与modelm无关,因为数据已经绑定到查看下拉列表,jsut需要以任何方式发送所选项目。我使用的是动作链接bez,它附带了引导下拉列表,所以我使用了它,为了更好地看,让我知道需要用什么来代替动作链接。你应该尝试使用Html助手来呈现你的下拉列表。如果您更关心样式,我不相信您可以为该属性绑定div标记。相反,我建议使用通用引导类(比如class=“form control”)或CSS样式。如果改为设置选择列表,只需确保select标记的id和名称字段设置为Model.DeviceID,以确保其绑定。
   @using (Html.BeginForm())
            {


                    <div class="btn-group">
                        <button type="button" class="btn btn-info ">Device Id</button>
                        <button type="button" class="btn btn-info  dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                            <span class="sr-only">Toggle Dropdown</span>
                        </button>
                        <div class="dropdown-menu">
                            @foreach (var item in Model.OrderBy(x=>x.DeviceId).Select(x => x.DeviceId).Distinct())
                            {
                                <a class="dropdown-item" href="#" id="deviceid_dropdown">@item</a>
                            }
                            </div>

                <div class="col-md-1">
                    <input type="submit" id="btnSubmit" name="Submit" class="btn btn-success" value="Submit" />

                </div>
            </div>
            }
 public ActionResult Reports(DateTime? fromDate, DateTime? toDate, string deviceid_dropdown)
{

}
@model List<SmartPond.Models.SmartPondViewModel>
 public class SmartPondViewModel
    {
        public string Imie { get; set; }
        public int DeviceId { get; set; }
        public string pH { get; set; }
        public string DissolvedOxygen { get; set; }
        public string Temperature { get; set; }
        public DateTime Timestamp { get; set; }
    }