2014-01-14 5 views
0

Я очень новичок в Asp.net MVC, который я сделал перед некоторым Webform, но здесь все по-другому, и я понял, как реализовать master_page. Событие Page_Load в asp.net MVC-приложении и мой код подобны этому :конвертировать asp.net webform в mvc

protected void Page_Load(object sender, EventArgs e) 
{ 
    int intResult = 0; 
    if (intResult != 0) 
    {  
     Response.Redirect("url"); 
    }    
} 

Я хочу, чтобы все мои действия в конкретном контроллере, чтобы пройти через этот if else я хочу некоторые вещи более эффективно, чем положить if else во всех своих действиях.

ответ

2

Создайте actionfilter для вашего контроллера.

Creating an action filter и How to prevent an action from executing from a filter.

// Обновление

В одном из комментариев, которые я видел, как вы хотите, чтобы перенаправить пользователя на страницу входа, когда он не вошел в Там уже кое-что для этого в ASP.NET MVC:. Authorize attribute

[Authorize] 
public class MyController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 
} 
+0

Вы можете объяснить, как работает эта авторизация, поскольку мои пользователи хранятся в базе данных. – danarj

+0

Это не проблема. ASP.NET (как WebForms, так и MVC) имеет модель членства, которая используется с аутентификацией/авторизацией. По умолчанию вы должны использовать это, и эта модель абстрагирует основной носитель данных. Атрибуты 'Authorize' также подключаются к этой модели, просто проверяя, прошел ли аутентификация пользователя. См. Также http://weblogs.asp.net/scottgu/archive/2006/02/24/ASP.NET-2.0-Membership_2C00_-Roles_2C00_-Forms-Authentication_2C00_-and-Security-Resources-.aspx –

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