我的网站目前实现了我们在IIS中映射的自定义404页面。因此,当用户执行类似www.mysite.com/foo/bar/doesnotexist的操作时,它将执行404.aspx URL。这很好用,但在检查返回的HTML时,表单帖子URL是相对的:
<form method="post" action="404.aspx?404%3bhttps%3a%2f%2ftestserver%3a443%2ffoo%2fbar%2fdoesnotexist" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">
如果仔细观察,操作URL会发布到404.aspx,但它是相对路径,所以如果我们进行回发www.mysite.com/foo/bar/doesnotexist/404.aspx则会尝试执行。如何让我执行的404页面正确回发? (www.mysite.com/404.aspx)
感谢。
答案 0 :(得分:1)
Victor,
您的问题是重复的,所以我想您可能会找到答案here。
因为你是新来的希望亲近的纳粹会让你有些松懈。基本上,当你写一个问题时,应该有一个类似问题的列表,在你的问题下弹出。如果您看到的问题看起来可能会自行回答,请在发布之前点击链接并查看。您的问题中有9次可能已被回答。
祝你找到答案好运,我认为该链接应该有很多好的信息。
答案 1 :(得分:0)
如果您正在使用axjx并将一个页面拉到另一个页面并且页面位于不同的目录中,这也会发生这种情况,简单的方法就是从网站的根目录重写页面加载时的表单操作对象。
e.g。
//Rewirte forms post action.
form1.Action = "/{dir}/{currentpage}.aspx?" + Request.QueryString;