gpt4 book ai didi

c# - ASPX 按钮 - 没有任何反应

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:15 24 4
gpt4 key购买 nike

我在 aspx 页面上有一个应该发送电子邮件的按钮...我的代码似乎设置正确,但是当单击该按钮时,没有任何反应。这是代码。它旨在显示警报然后重定向到成功页面但没有任何反应......

没有onclick,但是按照这个,不应该有:http://www.velocityreviews.com/forums/t367616-using-handles-vb-vs-c.html我从中获得此代码的指南也没有使用 onclick,尽管它已经过时了。

标记是:

<%@ Page Title="Sign Up" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="signup.aspx.cs" Inherits="WebApplication2._Default" %>

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
Email Service
</h2>

Re-enter your email address to confirm signup for updates.
<br />
<table border="0">
<tr>
<td><b>Email:</b></td>
<td><asp:TextBox runat="server" ID="UsersEmail" Columns="30"></asp:TextBox></td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Button runat="server" ID="SendEmail" Text="Sign Up"/>
</td>
</tr>
</table>

代码隐藏是:

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void SendEmail_Click(object sender, EventArgs e) //Handles SendEmail.Click
{
try
{
//!!! UPDATE THIS VALUE TO YOUR EMAIL ADDRESS
string ToAddress = "info@removed.org";

//(1) Create the MailMessage instance
MailMessage mm = new MailMessage(UsersEmail.Text, ToAddress);

//(2) Assign the MailMessage's properties

mm.Subject = UsersEmail.Text + " would like to sign up for updates";
mm.Body = "Hello, I would like to sign up for updates. My email is " + UsersEmail.Text + ". Thank you.";
mm.IsBodyHtml = false;

//(3) Create the SmtpClient object
SmtpClient smtp = new SmtpClient("[removed]");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

//(4) Send the MailMessage (will use the Web.config settings)
smtp.Send(mm);
}
catch (Exception ex)
{
string strError = "<Script language=javascript>alert('Error');</Script>";
Response.Write(strError);
Response.Redirect("Success.aspx");

}

string strMsg = "<Script language=javascript>alert('Emailsent');</Script>";
Response.Write(strMsg);
Response.Redirect("Success.aspx");

//System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE=""JavaScript"">alert(""Hello this is an Alert"")</SCRIPT>");
}

}

我真的怀疑 onclick 是否是解决方案,因为它不处理任何代码..

有什么想法吗?谢谢。

最佳答案

将处理程序添加到事件

<asp:Button runat="server" ID="SendEmail" Text="Sign Up" OnClick="SendEmail_Click"/>

下一步:

如果你这样做:

catch (Exception ex)
{
string strError = "<Script language=javascript>alert('Error');</Script>";
Response.Write(strError);
Response.Redirect("Success.aspx");

}

您不会对错误一无所知,第一个原因是因为进行了重定向,所以 javascript 代码将没有机会运行,第二个原因是像这样捕获异常,但什么都不做,您将丢失如何修复它的说明。

如果您认为它会膨胀,则无需在标记中设置处理程序。你肯定可以在代码中做到这一点

public class _Default : System.Web.Page

{
public _Default()
{
this.Init += (_o, _e) =>
{
SendEmail.Click += SendEmail_Click;
};
}
}

关于c# - ASPX 按钮 - 没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9913208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com