ASP.NET MVC DEFAULTMODELBINDER не Свойства привязки на пост

StackOverflow https://stackoverflow.com/questions/954080

  •  11-09-2019
  •  | 
  •  

Вопрос

Я сталкиваюсь с действительно странной проблемой, которая заставляет меня курить.

У меня есть довольно простой сценарий, в котором у меня есть сильно напечатанный вид, который правильно заполняется от контроллера на GET, но затем, когда он публикует форму для контроллера, рекост полон всех правильных значений и правильных имен ключей для Модель по умолчанию связующую, чтобы правильно заполнить один из моих объектов модели, и DMB создает правильный выбор, но он никогда не зажигает ни одного из свойств, все они находятся в состоянии их по умолчанию.

Это работало раньше, единственные изменения, о которых я мог придумать, было то, что я попробовал пользовательский модельный Binder (затем снял его; дважды проверил, чтобы убедиться, что я все еще не использую это), и я отразил модель, чтобы получить базовый класс с некоторыми реквизита.

Какие-нибудь мысли?

Это было полезно?

Решение 2

Понятно. Модель была отражена таким образом, что, естественно, повлияло на способность связующего MDOEL заполнять его.

Другие советы

Очень похожий сценарий - что DefaultModelbinder - по существу - не связывается с вашей моделью, Arrise, если вы дадите своему объекту Bound Model одинаковое имя, как одно из его свойств:

Модель

Public Property ArbitraryName1 As Integer
Public Property Answer As String
Public Property ArbitraryName2 As Boolean

Вид

<p/> ... @Model.ArbitraryName1
<p/> Answer: @Html.TextBoxFor(Function(model) model.Answer)
<p/> ... @Html.CheckBoxFor(Function(model) model.ArbitraryName2)

Контроллер

<HttpPost()>
Function Index(answer As Model) As ActionResult
  ' answer is Nothing
End Function

(Используя ASP.NET MVC 3)

Название вашего входного параметра не должно быть равным некоторым имени свойства объекта. Помните, что все данные, поступающие как массив имени -> значение и привязка по умолчанию, используют имена для создания отношений.

У меня возникло такое поведение, перемещая два свойства от вершины класса, чтобы дальше. Я до сих пор не могу понять, почему это остановило привязку третьего свойства от работы (так что это не является решением, как «остерегайтесь»), но я повторял изменение несколько раз, и каждый раз, когда привязка уходила от работая, чтобы не работать. Я также обнаружил, что после внесения этого изменения мне иногда приходилось «очистить» решение для привязки, чтобы начать работу снова.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top