есть ли способ для модели mvc иметь свойство с типом параметра f # и связывать его с моделью во время публикации (точно так же, как свойства, допускающие значение null, в настоящее время отображаются, но вместо null / value это будет F# Some и None) ?
Пример модели f #:
[<CLIMutableAttribute>]
type Student = { StudentId : int; MainSportsId : int option}
Затем в методе сообщения контроллера:
[<HttpPost>]
member this.AddRecord(resp: Student) =
resp.MainSportsId
Где соотв. MainSportsId будет «Некоторое число», если пользователь ввел число в текстовое поле, или «Нет», если текстовое поле было пустым.
Спасибо!
Ну, ты мог бы сделать себе переплет на заказ ...
@DimitarTsonev: Я хотел, чтобы в моей форме было необязательное поле. В C# я бы сделал это свойство в модели int, допускающим значение NULL, и он работал бы с MVC. Но теперь, когда я использую F# для создания модели, я хотел использовать Option, поскольку это рекомендуемый подход для необязательных значений. Но я открыт для предложений о том, как правильно обрабатывать необязательные целые числа, поступающие из сообщения формы.
@FyodorSoikin Я смотрел документы на официальном сайте, а также код MVC для их собственного связывателя, но это звучало так, как будто это будет очень сложно, учитывая общую параметрическую природу типа Option (если, конечно, я не пишу связыватель специфический для родительского объекта, то есть типа Студент). Но помимо этого, я думал, что это определенно была проблема, которая у кого-то должна была быть раньше, и поэтому давным-давно у нее было решение.
Просто из любопытства - зачем вам это нужно?