Ok. Tak więc mam problem, w którym muszę wykonać pewne kontrole autoryzacji wewnątrz działania kontrolera.Przekierowanie ASP.Net MVC z częściowego widoku z kontrolera do pełnego widoku z innego kontrolera
Są role autoryzacji, ale może istnieć, że ktoś ma TypeOnePayment, ale nie TypeTwo
[Authorize(Roles = "TypeOnePayment;TypeTwoPayment")]
public ActionResult EnterRevenue(PaymentType payment)
{
payment = "TypeOne"; // This exists for show only.
var permission = string.Concat(payment,"Permission");
if (!SecurityUtility.HasPermission(permission))
{
return View("Unauthorized", "Error");
}
return this.PartialView("_EnterRevenue");
}
ale ponieważ to jest zwrócenie częściowy widok na ekran „Error” pojawia się tylko w częściowym części widzenia Strona. Czy istnieje sposób przekierowania na zupełnie nową stronę?
EDYCJA: EnterRevenue jest pobierany przez wywołanie ajax. Tak więc po prostu zwracany jest HTML i jest on umieszczany w widoku, z którego został wywołany.
gdzie używacie tego częściowy widok? w ajax lub Html.Action? –
Jest pobierany za pomocą wywołania ajax, a nowy html jest wstawiany do html po pomyślnym zakończeniu połączenia. – ELepolt
powinieneś przeczytać: http://stackoverflow.com/questions/199099/how-to-manage-a-redirect-request-after-a-jquery-ajax-call –