//修改页面
<%=Html.TextBoxFor(model=>model.PlanTime, new {@class="date" })%>
 //我在这上面加了个jquery的datepicker 用来选择日期
// 但这是修改页面所以会先显示 可是显示出来的的日期样式是2010/12/12 00:00:00
//我想把后面的时间部分去掉<%=Html.TextBoxFor(model=>model.PlanTime,,String.Format("0:g}",Model.PlanTime))%>
 //这样就可以不显示时间的部分了 但是new {@class="date" } 加上去就报错
//有什么两全其美的方法没? 

解决方案 »

  1.   

    .tostring("yyyy年MM月dd日");
    这个不能用吗
      

  2.   

    楼上正解
    格式为.tostring("yyyyMMdd");
      

  3.   

    建一个模版,在 Views 》  Shared 下面建一个目录EditorTemplates,再在目录下 建一个用户控件,如命名DateTime.ascx:<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>"  %>
    <%= Html.TextBox("", Model.HasValue ? Model.Value.ToShortDateString() : string.Empty, new { @class = "date" })%>调用 <%=Html.EditorFor(model => model.PlanTime, "DateTime")%>
      

  4.   

    模版返回的是一个 textbox,  ??? 不能 编辑
      

  5.   

    HtmlHelper的TextBoxFor扩展方法只有三种重卉:http://msdn.microsoft.com/en-us/library/system.web.mvc.html.inputextensions.textboxfor.aspx
    没有一个可以格式化文本框的值的,所以我怀疑你的第二个方法能否正常运行?不过你的问题我也遇到过,解决的办法是不用TextBoxFor而用TextBox或直接<input type="text">,这样就可以自定义显示格式了。
      

  6.   


        可以给个示例么? 小弟初学mvc
      

  7.   

    <%=Html.TextBox("PlanTime",Model.PlanTime,new{@class="date"})%>