我需要在應用程序中禁用URL才能手動更改。如何禁用我的應用程序中的URL不要手動更改
例如:我有index.aspx頁面。因爲我有一個名爲Create的按鈕。當我點擊我將去Create.aspx頁面。
基於一些驗證我禁用索引頁上的創建按鈕。我能夠做到這一點。
我的問題是什麼當我手動更改URL我去那裏有什麼辦法可以禁用手動URL?
謝謝
我需要在應用程序中禁用URL才能手動更改。如何禁用我的應用程序中的URL不要手動更改
例如:我有index.aspx頁面。因爲我有一個名爲Create的按鈕。當我點擊我將去Create.aspx頁面。
基於一些驗證我禁用索引頁上的創建按鈕。我能夠做到這一點。
我的問題是什麼當我手動更改URL我去那裏有什麼辦法可以禁用手動URL?
謝謝
沒有更好知道禁用邏輯的細節或這個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(...
}
}
在你的控制器的操作方法
然後,應用屬性...
當用戶可以查看創建頁面時設置會話變量。
Session["Create"]=true;
當他們到達create.aspx時,檢查會話變量。如果它是真的,那麼讓他們進入,如果沒有的話,把它們放到你的索引頁面。
當您點擊索引頁面上的「CreateButton」時,設置會話變量。
//Code for your button on your index page
Session["allowaccesstoCreatePage"]=1;
檢查您create.aspx頁面加載此會話變量
if(Session["allowaccesstoCreatePage"]==null)
{
Response.Redirect("index.aspx");
}
在Create.aspx的Page_Load事件中鍵入此或在Page_Init事件
if (Request.UrlReferrer == null)
Response.Redirect("~/index.aspx");