2012-01-18 18 views
0

我需要在應用程序中禁用URL才能手動更改。如何禁用我的應用程序中的URL不要手動更改

例如:我有index.aspx頁面。因爲我有一個名爲Create的按鈕。當我點擊我將去Create.aspx頁面。

基於一些驗證我禁用索引頁上的創建按鈕。我能夠做到這一點。

我的問題是什麼當我手動更改URL我去那裏有什麼辦法可以禁用手動URL?

謝謝

回答

1

沒有更好知道禁用邏輯的細節或這個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

當用戶可以查看創建頁面時設置會話變量。

Session["Create"]=true; 

當他們到達create.aspx時,檢查會話變量。如果它是真的,那麼讓他們進入,如果沒有的話,把它們放到你的索引頁面。

0

當您點擊索引頁面上的「CreateButton」時,設置會話變量。

//Code for your button on your index page 

    Session["allowaccesstoCreatePage"]=1; 

檢查您create.aspx頁面加載此會話變量

if(Session["allowaccesstoCreatePage"]==null) 
{ 
Response.Redirect("index.aspx"); 
} 
0

在Create.aspx的Page_Load事件中鍵入此或在Page_Init事件

if (Request.UrlReferrer == null) 
     Response.Redirect("~/index.aspx"); 
相關問題