【发布时间】:2011-07-24 02:52:17
【问题描述】:
我使用 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)。
如何在编辑帖子操作中绑定它?
【问题讨论】:
-
我无法理解这个问题。
MyAccount.DataNascita is not set你的意思是辅助方法没有返回值还是模型没有在回发时填充? -
....模型在回发时没有填充!
-
现在你明白了吗?请问你能帮帮我吗?谢谢.....
-
是的,但我希望礼貌一点。我知道您没有使用网络表单,也没有这样的回发,但我问过数据是否在发布到控制器后加载。
-
对不起,我不想变得粗鲁,但我的英语并不完美:)。但是属性 DataNascita(日期时间类型)在发布到控制器后始终为 0001/01/01,而其他属性的值正确......再次抱歉!
标签: asp.net-mvc asp.net-mvc-2 extension-methods strong-typing nhlambdaextensions