2010-09-09 4 views
1

У меня есть класс, какПочему DefaultModelBinder не связывается со свойствами Char со значением "«с

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 не имеет значения? Если я назначу любого другого персонажа, он отлично работает. В поле Имя контроллера = "Foo", но DuplexType = "(пусто).

Также ModelState.IsValid = ложь, если DuplexType ="».

ответ

0

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

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

+0

Когда я смотрю HttpConte xt.Request.Form.Item («DuplexType») «правильно», но объект задачи не получает значения, а ModelState.IsValid = false –