Почему DefaultModelBinder не привязывается к свойствам Char со значением "" c - PullRequest
1 голос
/ 10 сентября 2010

У меня есть класс, как

Public Class Task
    Property DuplexType As Char
    Property Name As String
End Class

В моем контроллере есть действие, которое выглядит как

<HttpPost()>
Function Edit(ByVal task As Task) As ActionResult
    Dim duplexType = task.DuplexType
    Dim valid = ModelState.IsValid
    Return RedirectToAction("Index")
End Function

В представлении DuplexType = "" (один пробел) и Name = "Foo". Почему свойство DuplexType не имеет значения? Если я назначу любой другой символ, он будет работать нормально. В контроллере name = "foo", но DuplexType = "(пусто).

Также ModelState.IsValid = false, если DuplexType = "".

1 Ответ

0 голосов
/ 10 сентября 2010

Посмотрите на объект Response и проверьте значения, заполняемые формой Post.Вы, вероятно, увидите, что значения обрезаются и поэтому теряют место.Если возможно, попробуйте UrlEncode значений.

Там, где мне приходилось сохранять конечные пробелы в моих собственных проектах, я вынужден был добавить разделители для параметра, а затем удалить их в методе действия.

...