none
如何获取跳转页面的地址? RRS feed

  • 问题

  • Default.aspx

    <form id="form1" runat="server">
    
     <div>
    
     直接访问:<a href="DelArticle.aspx">删除文章</a>
    
     <br /><br />
    
     通过Handler.ashx访问:<a href="Handler.ashx?Action=DelArticle">删除文章</a>
    
     </div>
    
     </form>
    
    

    =================================================================================

    DelArticle.aspx.cs

    protected void Page_Load(object sender, EventArgs e)
      {
    	Uri MyUrl = Request.UrlReferrer;
        Response.Write("OriginalString: " + Server.HtmlEncode(MyUrl.OriginalString) + "<br>");
    }

    =================================================================================

    Handler.ashx

    public class Handler : IHttpHandler {
    
      private string myAction;
      
      public void ProcessRequest (HttpContext context) {
        myAction = context.Request["Action"];
        switch (myAction)
        {
          case "DelArticle":
            context.Response.Redirect("DelArticle.aspx", true);
            break;
          default:
            JsWindow.PromptHistory("参数错误!");
            break;
        }
      }
     
      public bool IsReusable {
        get {
          return false;
        }
      }
    }

    =================================================================================

    问题:
    Default.aspx上点击“直接访问”链接。DelArticle.aspx页面上会显示OriginalString: http://localhost:34806/Default.aspx 这个没有问题。
    Default.aspx上点击“通过Handler.ashx访问”链接。DelArticle.aspx页面上还是显示OriginalString: http://localhost:34806/Default.aspx 这就不明白了,这应该是通过Handler.ashx跳转过来的,为什么OriginalString: 还是显示Default.aspx。我想要的效果是http://localhost:34806/Handler.ashx,请问应该用什么方法。

    =============================

    • 已编辑 hkstb 2011年3月15日 3:10 再好看一点
    2011年3月15日 3:06

答案

全部回复