ASP.NET MVC - Helper Lambdaexpression Post Action
Вопрос
Я создал этот помощник методом, используя лямбдаэкспрессию, чтобы использовать сильно тип вспомогательного типа в виду
helper
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 не устанавливается со значением, которое я выбираю в форме редактирования (значение даты minimun. Ex. 1900/01/01).
Как связать его в действии редактирования сообщения?
Решение
Я думаю, что вы после того, как пользовательский ModelBinder, который анализирует входящие опубликованные данные и преобразует его в DateTime для вашей модели.
Другие советы
На ваш взгляд, вы говорите, что вы выводят этикетку для чего-либо, но ваш вопрос касается того, почему значение не содержится на Posting .
Я думаю, вам нужно, по крайней мере, скажем, Html.EditorFor(...)
, но вы, вероятно, хотите использовать метод HELPER, который вы писали:
.
<%: Html.DateFor(model => model.DataNascita) %>
Тем не менее, невозможно точно сказать, что происходит здесь, не зная тип данных генеракодицетагкода на модели.
Я предлагаю вам использовать jQuery DatePicker .
Вы можете настроить его с помощью jQuery themeroller .