C# 即使设置了查看对象,是否也未设置Selectbox?
你好, 几天前,我在这个问题上得到了帮助: 我得到的解决方案是有效的,但现在我遇到了一个具有相同观点和行为的模拟问题 这一次,我在加载到主视图的局部视图中获得了以下内容:C# 即使设置了查看对象,是否也未设置Selectbox?,c#,html,asp.net-mvc,html-helper,C#,Html,Asp.net Mvc,Html Helper,你好, 几天前,我在这个问题上得到了帮助: 我得到的解决方案是有效的,但现在我遇到了一个具有相同观点和行为的模拟问题 这一次,我在加载到主视图的局部视图中获得了以下内容: <%: Html.DropDownListFor(model => model.ST1, Model.ShowAdTypeList1, new { @class = "dd2", @style = "width:80px;" })%> 问题是下拉列表总是选择0?在下拉列表中手动选择值2时,data.ALS
<%: Html.DropDownListFor(model => model.ST1, Model.ShowAdTypeList1, new { @class = "dd2", @style = "width:80px;" })%>
问题是下拉列表总是选择0?在下拉列表中手动选择值2时,data.ALS.ST1在输入操作时将设置为2
为什么不将下拉列表设置为值2
Edit1:
这是在整个页面上唯一与ALS_ST1一起工作的javascript:
$('#ALS_ST1').change(function () {
if (IsNotDblClick(this.id)) {
document.forms['list_ad'].submit();
}
else
return false;
});
Edit2
Model.ShowAdTypeList1是SelectList类型的一部分,没有选择。DropDownFore用于将ST1值设置为selected
EDIT3
请注意,此局部视图实际上是一个模板:。请尝试按如下方式呈现dropdownlist:
<%= Html.DropDownListFor(
x => x.ST1,
new SelectList(Model.ShowAdTypeList1, "Value", "Text", Model.ST1),
new { @class = "dd2", @style = "width:80px;" }
) %>
这个标题没有告诉读者什么。那么你在绑定之前设置了值吗?@Senad Meškin>我在操作中设置了它,正如你在我的示例中看到的,我正在将model.ST1设置为下拉列表。我不会以任何其他方式操纵ST1属性。谢谢!这是可行的,但为什么呢?为什么我不清除ModelState?
$('#ALS_ST1').change(function () {
if (IsNotDblClick(this.id)) {
document.forms['list_ad'].submit();
}
else
return false;
});
<%= Html.DropDownListFor(
x => x.ST1,
new SelectList(Model.ShowAdTypeList1, "Value", "Text", Model.ST1),
new { @class = "dd2", @style = "width:80px;" }
) %>
ModelState.Remove("ALS.ST1");
data.ALS.ST1 = 2;
return View(data);