有没有办法用相同的按钮(都是onclick)激活.cs函数和javascript函数?

有没有办法用相同的按钮(都是onclick)激活.cs函数和javascript函数?,javascript,c#,html,asp.net,Javascript,C#,Html,Asp.net,问题 我想创建一个模式“忘记密码”,在这个模式中有一个按钮“发送代码”,当你点击这个按钮时,它应该激活.cs功能(在这个功能中,它将创建一个随机代码并将代码发送给用户),按钮“发送代码”也应该激活javascript功能(此功能将同时关闭当前模式并转到下一个模式) 我已经尝试过的 我试过: 要在同一onclick事件中放置, 将cs函数放在server click上,将JS函数放在onclick上 尝试了一个标签按钮 和一个输入按钮 按钮 <asp:Button ID="SendCode"

问题

我想创建一个模式“忘记密码”,在这个模式中有一个按钮“发送代码”,当你点击这个按钮时,它应该激活.cs功能(在这个功能中,它将创建一个随机代码并将代码发送给用户),按钮“发送代码”也应该激活javascript功能(此功能将同时关闭当前模式并转到下一个模式)

我已经尝试过的

我试过: 要在同一onclick事件中放置, 将cs函数放在server click上,将JS函数放在onclick上 尝试了一个标签按钮 和一个输入按钮

按钮

<asp:Button ID="SendCode" Text="Send code" runat="server" OnClick="VerzendCode;b();" CssClass="btn btn-default" Visible="true" />
public partial class Site1 : System.Web.UI.MasterPage
{ protected void VerzendCode(object sender, EventArgs e)
    {
       string code = generateCode();
        MailMessage mail = new MailMessage("demert.deswert@gmail.com", TxtEmailWW.Text);
        SmtpClient client = new SmtpClient();
        client.UseDefaultCredentials = false;
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        client.Port = 587;
        client.Host = "smtp.gmail.com";
        client.EnableSsl = true;
        client.Credentials = new System.Net.NetworkCredential("demert.deswert@gmail.com", "789632145");
        mail.BodyEncoding = Encoding.UTF8;
        mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
        mail.Subject = "Wachtwoord vergeten";
        mail.Body = "Beste  dit is de code om uw wachtwoord te resetten";
        mail.Body += Environment.NewLine + code;
        client.Send(mail);  
    }
 }
$(function b() {
    $("#BtnVerzendcode").click(function () {
        $('#WWReset').modal('show');
          $('#WWvergeten').modal('hide');
    });
});
JS函数

<asp:Button ID="SendCode" Text="Send code" runat="server" OnClick="VerzendCode;b();" CssClass="btn btn-default" Visible="true" />
public partial class Site1 : System.Web.UI.MasterPage
{ protected void VerzendCode(object sender, EventArgs e)
    {
       string code = generateCode();
        MailMessage mail = new MailMessage("demert.deswert@gmail.com", TxtEmailWW.Text);
        SmtpClient client = new SmtpClient();
        client.UseDefaultCredentials = false;
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        client.Port = 587;
        client.Host = "smtp.gmail.com";
        client.EnableSsl = true;
        client.Credentials = new System.Net.NetworkCredential("demert.deswert@gmail.com", "789632145");
        mail.BodyEncoding = Encoding.UTF8;
        mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
        mail.Subject = "Wachtwoord vergeten";
        mail.Body = "Beste  dit is de code om uw wachtwoord te resetten";
        mail.Body += Environment.NewLine + code;
        client.Send(mail);  
    }
 }
$(function b() {
    $("#BtnVerzendcode").click(function () {
        $('#WWReset').modal('show');
          $('#WWvergeten').modal('hide');
    });
});
期待

<asp:Button ID="SendCode" Text="Send code" runat="server" OnClick="VerzendCode;b();" CssClass="btn btn-default" Visible="true" />
public partial class Site1 : System.Web.UI.MasterPage
{ protected void VerzendCode(object sender, EventArgs e)
    {
       string code = generateCode();
        MailMessage mail = new MailMessage("demert.deswert@gmail.com", TxtEmailWW.Text);
        SmtpClient client = new SmtpClient();
        client.UseDefaultCredentials = false;
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        client.Port = 587;
        client.Host = "smtp.gmail.com";
        client.EnableSsl = true;
        client.Credentials = new System.Net.NetworkCredential("demert.deswert@gmail.com", "789632145");
        mail.BodyEncoding = Encoding.UTF8;
        mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
        mail.Subject = "Wachtwoord vergeten";
        mail.Body = "Beste  dit is de code om uw wachtwoord te resetten";
        mail.Body += Environment.NewLine + code;
        client.Send(mail);  
    }
 }
$(function b() {
    $("#BtnVerzendcode").click(function () {
        $('#WWReset').modal('show');
          $('#WWvergeten').modal('hide');
    });
});

我希望这两个函数在sime时间都处于活动状态,并且使用相同的按钮,您可能希望使用代表异步JavaScript和XML的AJAX。下面是您可能需要的示例:

    $(function b() {
        $("#BtnVerzendcode").click(function () {
            $('#WWReset').modal('show');
              $('#WWvergeten').modal('hide');
              var url = "@Url.Action("VerzendCode","Site1")";
              var dataToSend = { };
              $.ajax({
                  url: url,
                  type:'GET',
                  success: function(result){
                  $('#WWReset').text(result);
             }
           });
        });
    });

这将向您的控制器操作发送一个异步请求,因此javascript和C#函数基本上将同时运行。

您可能需要使用代表异步javascript和XML的AJAX。以下是您可能需要的示例:

    $(function b() {
        $("#BtnVerzendcode").click(function () {
            $('#WWReset').modal('show');
              $('#WWvergeten').modal('hide');
              var url = "@Url.Action("VerzendCode","Site1")";
              var dataToSend = { };
              $.ajax({
                  url: url,
                  type:'GET',
                  success: function(result){
                  $('#WWReset').text(result);
             }
           });
        });
    });

这将向控制器操作发送一个异步请求,因此javascript和C#函数基本上将同时运行。

因此,关键是运行前端逻辑,然后在javascript中调用后端逻辑

HTML

C#


因此,关键是运行前端逻辑,然后在JavaScript中调用后端逻辑

HTML

C#


.cs代码在服务器上运行,而JS代码在客户端运行。实际上,它们不可能同时运行。毕竟,它们甚至不在同一个地方运行。为什么不创建一个控制器来处理发送电子邮件的事件呢?VLAZ,除非您使用WebForms。可以让属性JavaScript与属性JavaScript同时运行。cs代码。我不建议这样做。人们不再使用它是有原因的。你可以创建一个隐藏的asp:按钮,通过JS单击。例如$(“#你的Hiddenaspbutton”)。触发器('click'))@Bedir您能提供一些关于隐藏的asp:按钮的更多信息吗?请提前感谢。当JS代码在客户端运行时,.cs代码在服务器上运行。实际上,它们不可能同时运行。毕竟,它们甚至不在同一个位置运行。您为什么不创建一个控制器来处理发送emai的事件l?VLAZ,除非您使用WebForms。可以让属性JavaScript与.cs代码一起运行。我不建议这样做。人们不再使用它是有原因的。您可以创建一个隐藏的asp:按钮,通过JS单击。例如$(“#YourHiddenaSputton”)。触发器('click'))@Bedir您能提供一些关于隐藏asp:按钮的更多信息吗?谢谢您尝试修复它,但此解决方案不调用C代码“VerzendCode”。知道为什么吗?我还假设disabled应该是disabled=“True”。隐藏asp按钮一次调用VerzendCode函数b()触发对该隐藏按钮的单击。感谢您尝试修复它,但此解决方案不会调用C#code“VerzendCode”。知道为什么吗?我还假设disabled应该被disabled=“True”。隐藏的asp按钮调用VerzendCode一次函数b()触发对隐藏按钮的单击。感谢您的帮助,但是有其他方法吗?我不是一名经验丰富的web开发人员,而且我在AJAX方面遇到了一些问题,不是它的忠实粉丝。提前感谢。感谢您的帮助,但是有其他方法吗?我不是一名经验丰富的web开发人员,我遇到了一些问题对于AJAX,我不是很喜欢它。提前谢谢。