Asp.net mvc 4 DropDownListFor表单提交未触发
我有一个过滤器下拉列表,用于:Asp.net mvc 4 DropDownListFor表单提交未触发,asp.net-mvc-4,html.dropdownlistfor,Asp.net Mvc 4,Html.dropdownlistfor,我有一个过滤器下拉列表,用于: @Html.DropDownListFor(x => x.selectedDateFilter, new SelectList(Model.bydatefilter, "id", "dt", Model.selectedDateFilter), "By Date", new { onchange = "this.form.
@Html.DropDownListFor(x => x.selectedDateFilter,
new SelectList(Model.bydatefilter, "id", "dt", Model.selectedDateFilter),
"By Date",
new { onchange = "this.form.submit();", @class = "form-control" })
当我改变选择时,我什么也得不到
这是页面来源:
<select class="form-control"
data-val="true"
data-val-number="The field selectedDateFilter must be a number."
data-val-required="The selectedDateFilter field is required."
id="selectedDateFilter" name="selectedDateFilter"
onchange="this.form.submit();"><option value="">By Date</option>
<option value="1">April-2015</option>
<option value="2">May-2015</option>
<option value="3">June-2015</option>
<option value="4">July-2015</option>
<option value="5">August-2015</option>
<option value="6">September-2015</option>
<option value="7">October-2015</option>
<option value="8">November-2015</option>
<option value="9">December-2015</option>
<option value="10">January-2016</option>
</select>
这就是错误在源中创建以下内容的原因:
data-val="true"
data-val-number="The field selectedDateFilter must be a number."
@Html.DropDownListFor(x => x.selectedDateFilter,
new SelectList(Model.bydatefilter, "id", "dt", Model.selectedDateFilter),
"By Date",
new { onchange = "this.form.submit();", @class = "form-control" })
我已检查x.selectedDateFilter=0的值。我还尝试将其设置为1,但仍然存在错误。您需要执行以下操作:
@Html.DropDownListFor(x => x.selectedDateFilter,
new SelectList(Model.bydatefilter, "id", "dt", Model.selectedDateFilter),
"By Date",
new { onchange = @"this.form.submit();", @class = "form-control" })
您需要在
此.form.submit()之前追加@
如果其DropDownListFor()
或DropDownList()
,则代码>没有区别-生成的html是相同的。您有表单吗?您是否有关联的ValidationMessageFor()
?我没有ValidationMessageFor。您的控件正在生成data val-
属性,供jquery.validate.unobtrusive.js
使用。您的模型是否无效(因此阻止提交),但是你不知道,因为没有显示消息?我只是注意到SelectList(Model.bydatefilter,你的答案的一部分)GrupRasad。我用Dropdownlistfor重试了一下,它成功了。
@Html.DropDownListFor(x => x.selectedDateFilter,
new SelectList(Model.bydatefilter, "id", "dt", Model.selectedDateFilter),
"By Date",
new { onchange = @"this.form.submit();", @class = "form-control" })