2013-09-18 2 views
2

Начиная с форм-фактора MVC4 и бритвы, но с ошибкой показывая рассчитанное поле в форме - до , отправив форму.Как показать вычисленное поле в форме MVC Razor?

Скажите, для простоты, у нас есть поля Цена и количество, которые могут быть редактируемыми текстовыми полями и третьим текстовым полем для чтения, чтобы показать расчетную сумму Цена * Количество.

Это post suggests приятно и легко с нашей новомодной Razor, но когда мы не попробовать ниже абсолютно ничего динамически изменяется по форме:

@{ 
    var value = model.Item.Value; 
    var price = model.Item.Proce; 
    var calculated = value * price; 
} 

<div class="price">Your price: @calculated</div> 

ответ

4

Если вы хотите быть в режиме реального времени, как типы пользователей или перед отправкой форма, которую вы собираетесь использовать javascript; серверного бритвенного кода будет недостаточно. Код бритвы будет выполняться только при первой визуализации страницы.

У вас есть несколько вариантов:

  1. Как пользователь сделал набрав отправить данные на сервер с помощью AJAX для получить расчетную сумму. Возьмите ответ и отобразить его на странице
  2. Просто обновите расчет полностью на клиенте в качестве пользовательских типов (вы можете использовать структуру MVVM, чтобы помочь с этим (например Knockout.js))

Редактировать

Добавление некоторые ссылки на примеры:

Вот пример # 1: Making a Simple Ajax call to controller in asp.net mvc

Вот пример того, как можно достичь # 2: http://knockoutjs.com/examples/cartEditor.html

Лично я хотел бы сделать расчет на клиенте (# 2) и просто сделать ваш проверки на стороне сервера, так что это, где это имеет значение.

+0

спасибо, можете ли вы добавить какие-либо ссылки с некоторыми руководящими принципами для начинающих для любого из них? – hawbsl

+0

Конечно, я добавил несколько ссылок. –

Смежные вопросы