Как отключить URL в моем приложении, чтобы не менять вручную - PullRequest
0 голосов
/ 18 января 2012

Мне нужно отключить URL в моем приложении, чтобы не изменять его вручную.

Пример: у меня есть страница index.aspx.в этом у меня есть одна кнопка под названием Create.когда я нажимаю, я иду на страницу Create.aspx.

на основании некоторой проверки Я отключаю кнопку «Создать» на странице указателя.Я могу это сделать.

В чем моя проблема, когда я вручную изменяю URL, который я собираюсь там, есть ли способ отключить URL от manuall?

Спасибо

Ответы [ 4 ]

1 голос
/ 19 января 2012

Не зная деталей логики отключения или того, на что указывает этот URL, я бы сказал, что это работа для фильтра настраиваемых действий.

Вот пример пользовательского фильтра проверки:

public class CustomAuthorizeAttribute : AuthorizeAttribute
    {

        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            //the base will just do the default behavior

            base.OnAuthorization(filterContext);

            //...if(same eval logic for button)==true
            filterContext.Result = new RedirectResult(<url>); //or RedirectToRoute(...
        }
    }

Затем в методе действия вашего контроллера примените атрибут ...

0 голосов
/ 18 января 2012

Установите переменную сеанса, когда вы нажимаете «CreateButton» на странице индекса.

//Code for your button on your index page

    Session["allowaccesstoCreatePage"]=1;

Проверьте эту переменную сеанса при загрузке страницы create.aspx

if(Session["allowaccesstoCreatePage"]==null)
{
Response.Redirect("index.aspx");
}
0 голосов
/ 18 января 2012

Введите это в событие Page_Load Create.aspx или, что лучше, в событие Page_Init

if (Request.UrlReferrer == null) 
        Response.Redirect("~/index.aspx");
0 голосов
/ 18 января 2012

Установите переменную сеанса, когда пользователь может просматривать страницу создания.

Session["Create"]=true;

Когда они попадут в create.aspx, проверьте эту переменную сеанса.Если это правда, впустите их, если нет - поместите их на страницу указателя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...