2013-08-10 2 views
-1

Не могли бы вы помочь мне с проблемой? Предположим, у меня была форма с таблицей некоторых вещей (например, продуктов), с возможностью добавления нового продукта и редактирования существующего продукта. Требование состоит в том, чтобы добавить строку всегда будет видимой. Чем я столкнулся с проблемой, когда я нажимаю на «Редактировать» продукт, так что у меня есть два входа (один для редактирования и один для добавления). Когда я разместил форму на сервере, выбрав «Сохранить редактируемую строку», я хотел проверить только строку редактирования и ничего не делать с помощью строки «Добавить» (которая на некоторое время пуста).2 вход, но подтвердите только один

И проблема заключается в том, что проверка достоверности MVC по умолчанию применяется к моим добавлениям ввода строки, ее элементы управления становятся красными, и появляется сообщение о проверке свойств. Я не хочу их видеть, потому что это действительно запутанно. На самом деле я не понимаю, почему это происходит. Возможно потому, что MVC не может передать пустую строку в DECIMAL (тип в VIEWMODEL, к которому относится вход)

+0

Возможно, у нас есть код? Модель, контроллер Изменить действие и представление будут приятными. Но из-за синего попробуйте с помощью [this] (http://stackoverflow.com/a/10896355/2248651), если проблема случится сбойная сторона –

+0

Вы можете: - Используйте JScript (JQuery) для выполнения добавления текстового поля с существующая информация (так что добавление стало редактированием). Тогда проверка по умолчанию будет действительна. - Отключить проверку по умолчанию и реализовать пользовательскую JS для проверки на стороне браузера. В любом случае, не забудьте также проверить на стороне сервера (контроллер). –

+0

http://stackoverflow.com/help/how-to-ask – Paritosh

ответ

1

Вам нужны две разные формы: одна для Add Project и одна для Edit Project. Они должны указывать на разные действия, которые затем будут проверять только один объект.

Я не уверен, что ваш код выглядит, но я бы действительно предложить что-то больше похоже на следующее, где ваши взгляды разделяются полностью:

Start с целью, которая отображает все ваши «продукты» или любые ваши данные является. Когда вы заполняете это в своем представлении, вы можете назначить Edit ссылки на каждый отдельный. Вам нужна только одна общая ссылка Add Project. Как так:

@Html.ActionLink("Add Project", "AddProjectView") 
For Each project In Model.Projects 
    @Html.ActionLink("Edit", "EditView", New With {.id = project.ProjectID}) 
    @<div>PropertyName: @Project.Property</div> 
Next 

Теперь вы можете иметь Edit вид, отделенный от вашей точки зрения данных, который может обрабатывать валидацию все самостоятельно. Аналогично, вид Add Project разделен и обрабатывает собственную проверку. При успешном добавлении или редактировании вы можете просто перенаправить пользователя обратно в свой вид выше, где ваши данные отображаются и обновляются.

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