在表单提交时重定向到同一页面时出现服务器端错误

时间:2018-01-30 16:30:54

标签: c#

在localhost上一切正常,但是一旦我将我的网站上传到服务器,我在网站上的每个表单都会在表单提交后重定向时抛出404错误 - 为什么?

代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        getContent();
    }
}

public void getContent()
{
    if (!string.IsNullOrEmpty(Request.QueryString["pageID"]))
    {
        int _pageID = Convert.ToInt32(Request.QueryString["pageID"]);
        DataRow dr = objMenu.getMenuByID(_pageID);
        _str.Append("<div class='page-head'>");
        _str.Append("<h1>" + dr["name"] + "</h1>");
        _str.Append("<p>" + dr["content"].ToString().Replace("\r\n", "<br/>") + "</p>");
        _str.Append("</div>");
        litOutput.Text = _str.ToString();
    }
    else
    {
        Response.Redirect("~/Default.aspx");
    }
}

public void createMail()
{
    string mail = File.ReadAllText(Server.MapPath("dist/mail/support-besked.html"));
    mail = mail.Replace("#name#", txtNavn.Text);
    objTools.SendEmail(txtMail.Text, "", mail);
}

protected void btnContact_Click(object sender, EventArgs e)
{
    objContact.addContact(txtNavn.Text, txtAdresse.Text, txtMail.Text, txtTelefon.Text, txtBesked.Text);
    createMail();   
    litStatus.Text += "<div class='success-box'><i class='fa fa-check-circle' aria-hidden='true'></i><span>Vi har modtaget din besked og kommer til dig snarest muligt.</span></div>";
    Response.AddHeader("REFRESH", "5;URL=Contact.aspx");
}

错误处理:

<customErrors mode="RemoteOnly" redirectMode="ResponseRewrite" defaultRedirect="~/500.aspx">
        <error statusCode="404" redirect="~/404.aspx"/>
        <error statusCode="500" redirect="~/500.aspx"/>
</customErrors>

<httpErrors errorMode="Detailed">
        <remove statusCode="404"/>
        <error statusCode="404" path="404.html" responseMode="File"/>
        <remove statusCode="500"/>
        <error statusCode="500" path="500.html" responseMode="File"/>
</httpErrors>

是我的错误处理我做错了,还是我做了一些我不应该做的事情?

0 个答案:

没有答案