多個輸入:MVC EditorTemplate與我創造了這個編輯器模板相同的值
@model DateTime?
@using MyMvcApp.Properties
<div id="[email protected](ViewData.ModelMetadata.PropertyName)">
<script type="text/javascript" language="javascript">
//<![CDATA[
$(document).ready(function() {
var $div = $('#[email protected](ViewData.ModelMetadata.PropertyName)');
$div.find('.date').datepicker({ altFormat: 'dd-mm-yy' });
});
function [email protected](ViewData.ModelMetadata.PropertyName)() {
var $div = $('#[email protected](ViewData.ModelMetadata.PropertyName)');
$div.find('.date').val('');
$div.find('.hour').val('00');
$div.find('.minute').val('00');
}
//]]>
</script>
@* Date - should equal DatePicker.cshtml *@
@Html.TextBox("Value.Date", Model.HasValue ? Model.Value.Date.ToString() : string.Empty, new { @class = "date" })
<img alt="@Resources.SelectDate" src="../../../images/calendar.png" class="calendarIcon" />
@* Time - should equal TimePicker.cshtml *@
@Html.DropDownList("Value.Hour", new SelectList(new[] { "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" }, Model.HasValue ? Model.Value.Hour.ToString("D2") : "00"),
null, new { style = "width: auto; margin-left: 5px;", @class = "hour" })
:
@{
List<string> availableMinutes = new List<string>();
for (int minute = 0; minute < 60; minute += 1)
{
availableMinutes.Add(minute.ToString("D2"));
}
@Html.DropDownList("Value.Minute", new SelectList(availableMinutes, Model.HasValue ? Model.Value.Minute.ToString("D2") : "00"),
null, new { style = "width: auto;", @class = "minute" });
}
<img alt="@Resources.SelectTime" src="../../../images/icon_clock_2.gif" style="margin-right: 5px" />
<input type="button" value="@Resources.Clear" class="ui-state-default" onclick="javascript:[email protected](ViewData.ModelMetadata.PropertyName)()" />
</div>
正如你所看到的,我試圖做到的是,用戶可以輸入一個日期/時間。但是,作爲輸入我想使用DateTime? (可爲空),因爲用戶可能不想選擇任何日期/時間。
當輸入模型爲空時,此EditorTemplate不起作用。有沒有辦法創建一個EditorTemplate接受空值,然後仍然可以填充用戶輸入的值?
爲什麼它不工作? – SLaks 2011-02-28 13:51:02
當我輸入日期/時間並且初始模型值爲空時,http post值爲空。 – 2011-03-01 07:46:24
你發佈什麼回Action?你的編輯器模板是@model DateTime? – swapneel 2011-03-06 00:48:53