2012-05-24 3 views
1

Я новичок в MVC, поэтому, пожалуйста, несите меня.ASP.Net mvc Параметры Url.Action всегда равны нулю.

Что я пытаюсь сделать на странице 1, пользователь вводит значения в два текстовых поля и нажав кнопку отправки, он вызовет службу wcf, и если вызов wcf возвращает проверенные значения, тогда он должен перенаправить на другую страницу и отобразить возвращаемые значения из вызова wcf.

Я создал представление, как это -

 <input type="text" name="txtUniqueCode" value="@Model.UniqueCode" placeholder="unique identifier" /> 
      <label for="name"> 
       Vehicle Registration 
      </label> 
      <input type="text" name="txtRegistration" value="@Model.Registration" placeholder="Registration" /> 

      <a href="@Url.Action("ShowRepairDetails", "RepairDetails", new { uniqueCode = Model.UniqueCode, registration = Model.Registration })">Check Status</a> 

После пользователь вводит значения в текстовое поле х и как только он нажмет «Проверить статус», я пытаюсь передать значения в контроллер с помощью Url.Action. Но когда я отлаживаю и проверяю значения параметров на контроллере, они возвращаются ко мне как null. Не уверен, почему ???

Я попытался замены значений параметров с помощью статических значений, как ниже в url.Action -

@Url.Action("ShowRepairDetails", "RepairDetails", new { uniqueCode = 1234, registration = "Test" }) 

, что работает нормально, я правильно получать значения параметров на стороне контроллера. Поэтому из того, что я понял, объект «Модель» не обновляется даже после того, как пользователь вводит некоторые значения в текстовое поле. Мне что-то не хватает. Не могли бы вы помочь ..

Заранее спасибо
Сай

ответ

1

Оказывается, что вы недопонимание рабочего процесса здесь. Ссылка на ваш код рассчитывается сервером до того, как он отправит страницу клиенту. Невозможно использовать значения, которые пользователь вводит в текстовые поля позже. Для этого вам нужна форма с действием отправки или вызов AJAX, который извлекает значения элементов HTML и отправляет их обратно на сервер.

+1

Спасибо за ответ .. так что, когда мы используем A href с url.action, он напрямую отправляет сервер сначала для обработки без учета значений. только сейчас я попробовал кнопку «Отправить», и все получилось отлично. Теперь я попробую вариант Ajax. – Sai

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