Asp.net 如何禁用我的应用程序中的URL而不手动更改
我需要禁用我的应用程序中的URL,而不是手动更改 我有index.aspx页面。我有一个按钮叫做创建。单击时,我将进入Create.aspx页面 基于一些验证,我禁用了索引页面上的创建按钮。我能做到 我的问题是,当我手动更改我要去的URL时,有没有任何方法可以从manuall中禁用URLAsp.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时,检查该会话变量。如果是真的,让他们进来,如果不是的话,把他们放到你的索引页上。当你
谢谢在用户可以查看创建页面时设置会话变量
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(。。。
}
}
然后在控制器的动作方法中,应用属性