我需要禁用应用程序中的URL,不要手动更改。
Ex:我有index.aspx页面。因为我有一个名为Create的按钮。当我点击我要去Create.aspx页面。
基于某些验证我在索引页面上禁用了创建按钮。我能够做到这一点。
我的问题是,当我手动更改URL时,我有什么方法可以禁用manuall的URL?
由于
答案 0 :(得分: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(...
}
}
然后在控制器的操作方法中,应用属性...
答案 1 :(得分:0)
当用户可以查看创建页面时设置会话变量。
Session["Create"]=true;
当他们到达create.aspx时,检查该会话变量。如果这是真的,请将它们放入,如果没有 - 将它们放入索引页面。
答案 2 :(得分:0)
单击索引页面上的“CreateButton”时设置会话变量。
//Code for your button on your index page
Session["allowaccesstoCreatePage"]=1;
在create.aspx页面加载
上检查此会话变量if(Session["allowaccesstoCreatePage"]==null)
{
Response.Redirect("index.aspx");
}
答案 3 :(得分:0)
在Create.aspx的Page_Load事件中键入此内容,或者在Page_Init事件中更好地输入
if (Request.UrlReferrer == null)
Response.Redirect("~/index.aspx");