2012-01-30 61 views
0

我有一个电子邮件的形式如下页面发送电子邮件:使用asp.net错误

http://www.tronitech.com/lp/impact-md.aspx

当你点击提交,你会得到一个404错误页面(因为它往回跳一个目录 - 失去的/ lp /)

用于发送电子邮件的代码位于lp目录中的关联.aspx.cs文件中。

任何想法,为什么它失去了子目录,并尝试访问根页的页面?

我有一个页面上的根和一切正常工作正常的形式/结构。

http://www.tronitech.com/Support.aspx

感谢

布雷特

这里是我的表单代码 - 我没有进行任何设置:

<form id="MailForm" method="post" runat="server"> 

回答

0

你可以试着改变你的HTML页面的这一部分:

<form name="MailForm" method="post" action="impact-md.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="MailForm"> 

为了这样的事情:

<form name="MailForm" method="post" action="/lp/impact-md.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="MailForm"> 

也许形式需要有一个/lp/action=""地址在那里。

+0

这是上面表单代码的代码...我没有设置这个。 – Brett 2012-01-30 13:55:30

+0

您是否看到'action =“/ lp/impact-md.aspx”'部分?这就是你可能需要改变的地方......除非你决定尝试''方法。在该操作中添加该目录路径可以帮助脚本知道您在'

'POST中调用哪个脚本。 – summea 2012-01-30 16:20:05

+0

像@Kevin在下面的帖子中提到的...如果你必须保持''在那里......一定要告诉你的有关你的impact-md.aspx脚本与''URL。 – summea 2012-01-30 17:11:49

0

你需要离开行动=“”空白

+0

我没有设置 - 请参阅上面编辑的问题,我发布了表单代码。 – Brett 2012-01-30 14:00:07

0

问题:

从文档HEAD删除此:

<base href="http://www.tronitech.com/" /> 

通过声明基本href你所有告诉浏览器包含在文档中的相对链接从该指定的基本位置开始。

W3C BASE ELEMENT

在你的页面(action="impact-md.aspx")的形式作用是相对链接,因为它不以斜线(斜杠)开始。因此,当前路径被忽略,并且表单POST被网页浏览器定向至http://www.tronitech.com/impact-md.aspx,正如您所说的那样!

+0

我正在使用基本网址来保持我的所有链接均适用于整个网站中的包含,导航等。我无法改变这一点。 – Brett 2012-01-30 13:46:44

+0

如果您需要保持,那么您可以将按钮的回发URL设置为impact-md.aspx,它应该可以工作。 – user1135379 2012-01-30 15:09:28

+0

@Brett A''元素会影响所有相关链接。如果你保留''元素,那么你必须使'action'属性的形式为NON-RELATIVE:'/ lp/impact-md.aspx'。实际上,因为它是一个ASP.NET控件,所以你可以使用'〜/ lp/impact-md.aspx'。非此即彼。 – 2012-01-30 15:44:19