2016-08-22 2 views
-1

У меня есть два действия; Первый ОдинКак вернуть представление, а также перенаправить на другое действие в MVC [или вернуть представление и перезагрузить текущее представление]?

public ActionResult ViewRequests() 
    { 
     List<AgentRequests> Reqs = con.AgentRequests 
             .Where(x => x.Status == RequestStatus.Open) 
             .OrderBy(x => x.RequestedOn).ToList(); 

     return View(Reqs); 
    } 

Второй:

public ActionResult ProcessRequest(long Id) 
    { 

     // Code to export data to excel file 

     //return RedirectToAction("ViewRequests"); 
     return View(KnoqedUsers); 
    } 

Моя первая действие возвращает представление, имеющее список. Каждая строка этого списка имеет ссылку «Запрос процесса», которая при нажатии вызывает второе действие.

Мое второе действие приведет к выходу файла excel для загрузки.

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

Если я вручную перезагрузите страницу ОК. Но как я могу автоматически перезагрузить его?

Я не могу использовать 2 оператора возврата, как показано в моем втором коде. Как я могу это достичь?

ответ

0

Вы не можете. Это в основном не то, как работает Интернет. Одним из основных принципов Интернета является так называемый запрос-ответ. Другими словами, запрос получает один ответ, и ответ следует только за запросом. Клиент делает запрос на сервер, и этот сервер возвращает ответ клиенту. Представление (HTML) - ответ, а перенаправление - также ответ. Таким образом, вы не можете вернуть как, так и один. Аналогично, вы не можете вернуть ответ HTML, а затем снова вернуть ответ HTML, без клика сначала повторите запрос.

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