Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何禁用我的应用程序中的URL而不手动更改_Asp.net_Asp.net Mvc_Asp.net Mvc 2 - Fatal编程技术网

Asp.net 如何禁用我的应用程序中的URL而不手动更改

Asp.net 如何禁用我的应用程序中的URL而不手动更改,asp.net,asp.net-mvc,asp.net-mvc-2,Asp.net,Asp.net Mvc,Asp.net Mvc 2,我需要禁用我的应用程序中的URL,而不是手动更改 我有index.aspx页面。我有一个按钮叫做创建。单击时,我将进入Create.aspx页面 基于一些验证,我禁用了索引页面上的创建按钮。我能做到 我的问题是,当我手动更改我要去的URL时,有没有任何方法可以从manuall中禁用URL 谢谢在用户可以查看创建页面时设置会话变量 Session["Create"]=true; 当他们到达create.aspx时,检查该会话变量。如果是真的,让他们进来,如果不是的话,把他们放到你的索引页上。当你

我需要禁用我的应用程序中的URL,而不是手动更改

我有index.aspx页面。我有一个按钮叫做创建。单击时,我将进入Create.aspx页面

基于一些验证,我禁用了索引页面上的创建按钮。我能做到

我的问题是,当我手动更改我要去的URL时,有没有任何方法可以从manuall中禁用URL


谢谢

在用户可以查看创建页面时设置会话变量

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");

在不知道禁用逻辑的详细信息或该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(...
        }
    }
公共类CustomAuthorizeAttribute:AuthorizeAttribute
{
授权时的公共覆盖无效(AuthorizationContext filterContext)
{
//基础将只执行默认行为
基于授权(filterContext);
//…如果(按钮的相同评估逻辑)=真
filterContext.Result=new RedirectResult();//或RedirectToRoute(。。。
}
}
然后在控制器的动作方法中,应用属性