-1

我使用 lambda 表达式创建了这个帮助器方法,以在视图中使用强类型帮助器

帮手


        public static string DateFor<TModel, TDate>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TDate>> expression)
        {
            ModelMetadata data = ModelMetadata.FromLambdaExpression(expression, helper.ViewData);
            StringBuilder sb = new StringBuilder();
            ...
            //code that creates three dropdownlist (day, month and year)
            ...
        }

看法


        <%= Html.LabelFor(model => model.DataNascita) %>

控制器


        [HttpPost]
        public ActionResult Edit(int id, Account MyAccount)
        {
            ...
            return View(...);
        }

我的问题是 MyAccount.DataNascita 未设置为我在编辑表单中选择的值(日期的最小值.. 例如 1900/01/01)。

如何在编辑帖子操作中绑定它?

4

3 回答 3

1

我认为您所追求的是一个自定义 ModelBinder,它将解析传入的发布数据并将其转换为您的模型的 DateTime。

于 2011-03-28T14:41:50.013 回答
1

在您看来,您说您正在为某事输出一个标签,但您的问题是为什么该值不保留在张贴中。

我认为您至少需要说Html.EditorFor(...),但您可能想使用您编写的辅助方法:

<%: Html.DateFor(model => model.DataNascita) %>

DataNascita但是,如果不知道模型上属性的数据类型,就不可能准确地说出这里发生了什么。

于 2011-03-28T00:36:22.567 回答
1

我建议你使用Jquery Datepicker

您可以使用Jquery Themeroller对其进行自定义。

于 2011-03-28T14:49:06.703 回答