0

我试图从一个名为 order.asp 的 .asp 文件中的文本框中接收电子邮件地址的输入,然后使用另一个名为 ordercomplete.asp 的 .asp 文件中的代码向该电子邮件地址发送电子邮件(它使用CDO 邮件)。如果我专门定义 ObjSendMail.To = someemail@provider.com,则邮件程序可以正常工作,但如果我使用诸如 ObjSendMail.To = Session("EmailSession") 这样的会话变量以使其更具动态性,则邮件程序无法正常工作。这是 order.asp

<form id="form1" name="form1" method="post" action="ordercomplete.asp">
  <p>
    <label for="firstname">First Name:</label>
    <input type="text" name="firstname" id="firstname" />
    <%
    Session("EmailSession") = Request.Form("email")
    %>
  </p>
  <p>
    <label for="email">E-Mail Address:</label>
    <input type="text" name="email" id="email" />
  </p>
  <p>
    <input type="submit" name="submit" id="submit" value="Submit" />
  </p>
</form>
<p>&nbsp;</p>

在 ordercomplete.asp 中,我尝试查看是否可以打印在 order.asp 中的电子邮件文本框中输入的值,然后才能继续并将 ObjSentMail.To 设置为会话变量。我尝试打印并查看 Session("EmailSession")) 中是否保存了任何内容

<%
Response.Write(Session("EmailSession"))
%>

但它什么也没打印。如何从一个 asp 文件中获取输入值,以便以这种方式在另一个 asp 文件中传输?

谢谢。

4

2 回答 2

0

更改 AspNet 文本框的输入。将输入按钮更改为 AspNet 按钮。为 OnClick 事件添加处理程序。在那里,将文本框中的电子邮件显式添加到会话对象。以下代码未经测试,使用前请检查

protected void MyButton_Click(object sender, EventArgs e){
    Session.Add(txtEmail.Text);
    Response.Redirect("~/MyOtherPage.aspx");
}
于 2013-06-28T18:02:32.833 回答
0

您将表格张贴order.aspordercomplete.asp. 表单字段email将仅在您已ordercomplete.asp在表单操作中提供的发布到页面中可用:action="ordercomplete.asp"

ordercomplete.asp中,您可以使用 获取表单字段的值Request.Form("email")

于 2013-07-01T07:05:24.863 回答