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; }
}