對不起,但我的大部分搜索帶我到舊的MVC代碼。任何幫助將不勝感激。在MVC 6中,如何在視圖中對複選框列表進行編碼並將選中的值傳遞給控制器?
在MVC 6標籤幫手,你怎麼編寫一組複選框:標籤
- 使用標記輔助所以點擊它會切換選中的值
- 保存(綁定?)的檢查值到IsOptionSelected財產
- 點擊提交
後通過這些檢查的值回控制器?
我能夠正確顯示帶有標籤的複選框,但我不知道如何通過模型將選中的值傳遞迴控制器。現在,IsOptionSelected值返回爲false。
我還能夠爲標籤工作制作html助手,但不能用於標籤助手。我可能也編碼這些都是錯誤的,所以任何提示都會有所幫助!
這是我到目前爲止有:
顯示:
實體:
public class PhoneOption
{
public bool IsOptionSelected { get; set; } = false;
public int OptionId { get; set; }
public string OptionName { get; set; }
}
型號:
[Display(Name = "Phone Options")]
public IEnumerable<PhoneOption> PhoneOptions { get; set; }
. . . .
PhoneOptions = repository.GetPhoneOptions();
庫:
public IEnumerable<PhoneOption> GetPhoneOptions()
{
IEnumerable<PhoneOption> options = new[]
{
new PhoneOption { OptionId = 1, OptionName = "Phone Case", IsOptionSelected = false },
new PhoneOption { OptionId = 2, OptionName = "Screen Protector", IsOptionSelected = false },
new PhoneOption { OptionId = 3, OptionName = "Car Charger", IsOptionSelected = false },
new PhoneOption { OptionId = 4, OptionName = "Extra Cable", IsOptionSelected = false }
};
return options;
}
查看:
<div class="form-group">
<label class="control-label">Phone Options</label>
<div>
@foreach (var option in Model.PhoneOptions)
{
<div>
@{ string cbId = "PhoneOption_" + @option.OptionId; }
<input [email protected] type="checkbox" [email protected] [email protected] [email protected] />
@Html.Label(@cbId.ToString(), @option.OptionName)
@*This is causing invalid operation exception*@
@*<label [email protected]()>@option.OptionName</label>*@
<span [email protected] class="text-danger" role="alert"></span>
</div>
}
</div>
</div>
提前感謝!
我猜asp-for是以錯誤的方式使用的。將輸入中的[email protected]更改爲asp-for =「IsOptionSelected」,以確保將其綁定到PhoneOption中的正確屬性。標籤[email protected]()中的相同內容是錯誤的。請參閱此處的教程以瞭解標記助手.http://www.davepaquette.com/archive/2015/05/18/mvc6-select-tag -helper.aspx –
感謝您的建議,但更改爲asp-for =「IsOptionSelected」會拋出語法錯誤,因爲它不在主模型中。它是迭代過程中Model.PhoneOption選項的一部分。 asp-for = option.IsOptionSelected也不起作用。是的,我已經閱讀過教程,但它沒有涵蓋像我想要做的那樣的複選框列表。 –
啊,我知道了。檢查這是否有幫助http://stackoverflow.com/questions/15375800/model-binding-to-a-list-mvc-4 –