C# asp.net中不允许使用用于访问路径的http谓词post
当我写代码的时候C# asp.net中不允许使用用于访问路径的http谓词post,c#,button,postback,response.redirect,C#,Button,Postback,Response.redirect,当我写代码的时候 <asp:Button ID="Button1" runat="server" onclick="Button1_Click" PostBackUrl="~/Biodata.xls" Text="Button" /> protected void Button1_Click(object sender, EventArgs e) { Server.Transfer("a.aspx"); } 受保护的无效按钮1\u单击(对象发送者,
<asp:Button ID="Button1" runat="server" onclick="Button1_Click"
PostBackUrl="~/Biodata.xls" Text="Button" />
protected void Button1_Click(object sender, EventArgs e)
{
Server.Transfer("a.aspx");
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
服务器传输(“a.aspx”);
}
我得到下面给出的错误
不允许使用用于访问路径“/WebSite4/Biodata.xls”的HTTP谓词POST
下载xls文件后,我试图将页面重定向到另一个页面。您正在查看此部分:
Server.Transfer("a.aspx");
PostBackUrl="~/Biodata.xls"
但错误消息指的是这一部分:
Server.Transfer("a.aspx");
PostBackUrl="~/Biodata.xls"
不要回发到xls文件。这不是下载东西的方式。你不能“下载一些东西然后重定向到其他地方”。HTTP请求和响应不是这样工作的
浏览器请求了您的页面。您正在返回一个响应
有关其他相关问题,请参见和。为什么不改用
Response.Redirect()
?如果我编写Response.Redirect(),也会发生同样的情况