После обновления модели значения не отображаются в представлении - PullRequest
0 голосов
/ 04 октября 2010

Я использовал Visual Web Developer 2010 и ASP .NET с MVC2 для создания простого модуля управления клиентами, в котором представление позволит вводить имя, фамилию, адрес и т. Д., А после отправки новый «идентификатор» будетбыть назначенным свойству CustomerID экземпляра CustomerModel.

Метод Controller (CustomerController) для создания клиента выглядит следующим образом:

<HttpPost()> _
Public Function CreateCustomer(ByVal model As CustomerModel) As ActionResult
    model = Me.customerServiceClientValue.CreateCustomer(model)
    Return (View(model))
End Function

Я вижу, что элемент управления достигает внутри CreateCustomer (), и он вызывает службу поддержки клиентов, чтобы создать клиента.Служба также возвращает клиента с новым идентификатором.Как и в методе, экземпляр клиента, возвращенный из сервисного вызова, возвращается обратно в появившуюся переменную «модель». Этот экземпляр модели передается «представлению» в операторе возврата.Тем не менее, при обновлении представления я не вижу значения для поля идентификатора клиента.

У меня есть следующая разметка для поля идентификатора клиента:

<div class="editor-label">
    <%: Html.LabelFor(Function(model) model.CustomerID)%>
</div>
<div class="editor-field">
    <%: Html.TextBoxFor(Function(model) model.CustomerID)%>
    <%: Html.ValidationMessageFor(Function(model) model.CustomerID)%>
</div>

Что такоеЯ делаю не так?Почему я не получаю идентификатор клиента в поле, хотя модель содержит новый идентификатор клиента?Цените все ваши подсказки.

Спасибо и всего наилучшего,

Динеш Джаядеван

1 Ответ

2 голосов
/ 04 октября 2010

Потому что TextBoxFor (и другие помощники) всегда сначала просматривает значения записей.Если никакого почтового значения не существует, то он смотрит на модель.Причина этого в том, что если в вашей форме есть ошибки, вы обычно хотите, чтобы в вашей форме отображались те же данные, что были опубликованы, а не некоторые, возможно, измененные данные модели.предотвратить это, но это не очень хорошая идея.

Подробнее об этом http://blogs.msdn.com/b/simonince/archive/2010/05/05/asp-net-mvc-s-html-helpers-render-the-wrong-value.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...