asp.net mvc - как переопределить входное значение по умолчанию, когда значение должно быть числом - PullRequest
1 голос
/ 24 ноября 2010

У меня есть Html.TextBoxFor, который используется для представления Double.Когда я генерирую "Создать" представление

@Html.TextBoxFor(Function(model) model.Longitude)

<input> имеет значение по умолчанию "0"

Я попытался изменить его двумя способами

@Html.TextBoxFor(Function(model) model.Longitude, New With {.value = ""})

и в контроллере

Dim model As Domain.Event = New Domain.Event
With model
    .Longitude = String.Empty
End With

Return View(model)

Но ни один из этих способов не работает.

Как можно получить вход "Пустой" для числового ввода?

Ответы [ 2 ]

3 голосов
/ 24 ноября 2010

Вы можете использовать тип Nullable(Of Double) или double? в C #.

0 голосов
/ 24 ноября 2010

Посмотрите на ответ на этот вопрос

Они перезаписывают значения по умолчанию в привязке модели.

Вы можете получить пользовательскую привязку модели из DefaultModelBinder ,Вы можете добавить столько других Binder-ов, сколько вам нужно.

Пример: Зарегистрируйте свой Binder в global.asax таким образом

protected void Application_Start() { ... your code ... ModelBinders.Binders.DefaultBinder = new YourModelBinder(); .... your code... }

...