Използвам c#, MVC3, Razor и Zurb Foundation 4.
Имам персонализиран шаблон за редактор за булеви стойности, които ще показват различен потребителски интерфейс за различни устройства за въвеждане. (видимостта се контролира от css класовете hide-for / show-for на Foundation)
Проблемът е, че тъй като всички тези елементи на потребителския интерфейс са винаги на страницата, само стойностите в първия ще бъдат обвързани с модела при връщане на публикацията.
Така че или трябва да намеря начин действително да премахна HTML за скритите divs, или да намеря начин да използвам истинска стойност от който и да е от трите елемента (всички те по подразбиране са фалшиви, така че което и да е зададено на истина, ще бъде видимото)
Това е моят Boolean.cshtml:
@model bool
@using System.Web.UI.WebControls
@using Helpers
<div class="hide-for-small">
<div class="hide-for-touch">
<div class="editor-field">
@Html.CheckBoxFor(model => model)
</div>
</div>
</div>
<div class="show-for-small">
<div class="hide-for-touch">
<div class="editor-field">
@{
List<BoolString> ynb = new List<BoolString>();
ynb.Add(new BoolString(false, "No"));
ynb.Add(new BoolString(true, "Yes"));
}
@Html.DropDownListFor(model => model, new SelectList(ynb, "Value", "Description"))
</div>
</div>
</div>
<div class="show-for-touch">
<div class="switch round">
<input id='@ViewData.TemplateInfo.HtmlFieldPrefix + ".Off"' name='@ViewData.TemplateInfo.HtmlFieldPrefix' type='radio' checked />
<label for='@ViewData.TemplateInfo.HtmlFieldPrefix + ".Off"' onclick=''>Off</label>
<input id='@ViewData.TemplateInfo.HtmlFieldPrefix + ".On"' name='@ViewData.TemplateInfo.HtmlFieldPrefix' type='radio' />
<label for='@ViewData.TemplateInfo.HtmlFieldPrefix + ".On"' onclick=''>On</label>
</div>
</div>
В момента квадратчето за отметка работи добре, но падащото меню не. (Винаги получавам false за моето свойство на модела, докато се върна към контролера). Ако преместя падащото меню div преди квадратчето за отметка, тогава падащото меню работи, но квадратчето за отметка не.
Обърнете внимание, че все още не съм сигурен за сензорния елемент, така че все пак може да е грешен. Не се притеснявам да го накарам да работи, докато не разреша този проблем.