2010-12-20 44 views
1

我有一個關於jquerydatepicker和TextBoxFor()方法的問題。 我有一個asp.net窗體,我用它們來創建和編輯一個對象。我使用相同的表單進行編輯和創建。 它看起來像這樣:jquery datepicker + Html.TextBoxFor

<script> 
    $(function() { 
    $("#datepicker2").datepicker(
    { 
     dateFormat: 'yy.mm.dd' 
    });       
    }); 
</script> 

<div class=demo><%= Html.TextBoxFor(m => m.Distribution.ToDate, new { id = "datepicker2", type = "text" })%></div> 

它工作正常,但我的問題是,我如何格式化日期,當我使用編輯?對於創建它沒關係,因爲它會顯示一個空的文本框,如果我選擇一個日期,它將以正確的格式。在編輯中,它首先顯示整個日期時間值,然後我選擇一個日期,它按照我想要的方式顯示。但是,我該如何做,以便它能從一開始就以我想要的方式顯示它?

我試圖做到這一點,像這樣:

<%= Html.TextBoxFor(m => m.Distribution.ToDate.ToShortDateString(), new { id = "datepicker2", type = "text" })%> 

,但它給出了一個錯誤。

有什麼建議嗎?

回答

2
<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
     $('#startDatePicker').datepicker({ clickInput: true }); 
    }); 
</script> 


<% var attributes = (new Dictionary<string, object> { { "Value", Model.Plan.StartDate.ToShortStrin() } }); %> 
<% attributes.Add("style", "width:80px; text-align:right"); %> 
<% attributes.Add("ID", "startDatePicker"); %> 
<%: Html.TextBoxFor(model => model.Plan.StartDate, attributes)%>