Я работаю на ASP.NET MVC веб-приложений, внутри метода действия я определить следующий список выбора: -Отключить & Указать выбор по умолчанию для Html.DropDownList
ViewBag.ApproverID = new SelectList(db.staffs.ToList(), "ApproverID", "Name");
Тогда на представлении я пытаюсь отключить DropDownList следующим образом: -
@Html.DropDownList("ApproverID",String.Empty,new { @disabled = "disabled" })
но кажется DropDownList не позволяет это и повысит синтаксическую ошибку на представлении может кто-нибудь adivce? Thanks
Я не использую сильно тип DropDownListFor, поскольку раскрывающийся список, созданный шаблоном лесов, использует Html.DropDownList, а не строго типизированный, поэтому поскольку я основываю свой код на шаблоне леса, я пытаюсь быть совместимым с ним, и, конечно, использование строго типизированного будет более точным .. второй вопрос по этому "@ Html.DropDownList (" ApproverID ", null, string.Empty , new {disabled = "disabled"}) "метод перегрузки, что означает нуль? –
Что вы использовали, была [эта перегрузка] (https://msdn.microsoft.com/en-us/library/dd470329 (v = vs.118) .aspx), где вторым параметром является 'IEnumerable', но вы передавали ему строку (отсюда и ошибка). То, что вы имели в виду (я думаю), было [этой перегрузкой] (https://msdn.microsoft.com/en-us/library/dd492256 (v = vs.118) .aspx), где 3-й параметр является меткой опции. –
также я использую раскрывающийся список вместо displayfor, потому что в поле появится имя пользователя (имя пользователя Approver), в то время как я буду хранить идентификатор пользователя, поэтому, если я использую Displayfor со скрытым полем, я буду размещать имя пользователя ,,, так что я должен запросить БД, чтобы получить идентификатор пользователя, основанный на имени пользователя, в то время как при использовании раскрывающегося списка будет предоставлена возможность показать значение при отправке другого значения. –