Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 即使设置了查看对象,是否也未设置Selectbox?_C#_Html_Asp.net Mvc_Html Helper - Fatal编程技术网

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