我正在尝试从名为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> </p>
在ordercomplete.asp中,我尝试查看是否可以在order.asp中打印已在电子邮件文本框中输入的值,然后才能继续将ObjSentMail.To设置为会话变量。我尝试使用
打印并查看Session(“EmailSession”)中是否保存了任何内容<%
Response.Write(Session("EmailSession"))
%>
但它什么都没打印。如何从一个asp文件中获取输入值以这种方式在另一个asp文件中传输?
感谢。
答案 0 :(得分:0)
更改AspNet文本框的输入。更改AspNet按钮的输入按钮。为OnClick事件添加处理程序。在那里,明确地将文本框中的电子邮件添加到会话对象中。以下代码未经过测试,因此请在使用
之前进行检查protected void MyButton_Click(object sender, EventArgs e){
Session.Add(txtEmail.Text);
Response.Redirect("~/MyOtherPage.aspx");
}
答案 1 :(得分:0)
您要将表单order.asp
发布到ordercomplete.asp
。表单字段email
仅在已发布到的页面中可用,您在表单操作中将其作为ordercomplete.asp
提供:action="ordercomplete.asp"
在ordercomplete.asp
中,您可以使用Request.Form("email")
获取表单字段的值。