2008-12-07 1 views
2

У меня есть пользовательский контроль, который может публиковать форму. Этот элемент управления можно использовать для нескольких видов. Если пользователь вводит неверные данные, я добавляю ошибки в ModelState - так же просто. Проблема , что я не знаю, какой вид/actionresult для возврата, так как я не знаю, откуда была создана почтовая форма пользователя. Хорошо, я могу получить urlreferer - но это не выглядит красивым для меня. Есть идеи?Как справиться с ситуацией при возникновении ошибки при отправке формы из пользовательского элемента управления?

ответ

1

Передайте информацию с родительской страницы на контроллер.

<% RenderPartial("MyUserControl", new MyUserControlViewData() 
{ 
    // pass parent page info here for user control to redirect to such as 
    Controller = "Home", 
    Action = "Index" 

    // or even better 
    ParentPath = ((WebFormView)this.ViewContext.View).ViewPath 
}); 
+0

спасибо - отличный ответ ... – 2009-01-06 21:56:51