У меня есть страница бритвы C #, которая содержит текстовые поля, которые отправляются обратно на сервер.
В C # типом полей является int, но я бы хотел, чтобы пользователь мог вводить '%' в поля, но чтобы страница отправляла обратно int. Это возможно?
В настоящее время я отфильтровываю «%» с помощью JavaScript в действии отправки, но проблема в том, что пользователь может видеть, что «%» исчезает за полсекунды до отправки, что неприглядно. Могу ли я удалить символ% в другом месте?
Бритва
<td>@Html.TextAreaFor(m => m.percentComplete, new { @class = "interactive_editor percent_editor", rows = 1 })</td>
C #
public int percentComplete { get; set; }
JavaScript
$('#submit_page').click(function () {
percentsToNumbers();
});
function percentsToNumbers() {
$(".percent_editor").each(function () {
var originalText = $(this).val();
var number = originalText.replace('%', '');
$(this).val(number);
});
}
Примечание
В прошлом я создавал отдельное поле, например centString , для отображения, которое преобразуется в отдельное поле Percent после обратной отправки. Но если бы я мог просто преобразовать его во время обратной передачи страницы, чтобы не было двух полей в модели, было бы лучше.