Функция вызова на стороне сервера при нажатии кнопки HTML - PullRequest
2 голосов
/ 01 марта 2020

У меня есть одна кнопка, когда я нажимаю на нее ... сначала мой DIV запускается / загружается, что отлично работает для меня.

Теперь параллельно я хочу отправить письмо на мой счет, как я могу позвонить моя функция на стороне сервера. Означает, что когда администратор нажимает «Сведения об учетной записи почты», я хочу открыть DIV, а также назвать имена функций на стороне сервера «SendAnEmail».

<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#patPortalCredDiv">Mail Account Detail</button>

Вот мой код Div.

 <div id="patPortalCredDiv" class="modal fade" role="dialog">
 <div class="modal-dialog">
 <!-- Modal content-->
 <div class="modal-content">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal">&times;</button>
      <h4 class="modal-title" style="color: black;">Mail Credential</h4>
  </div>
  <div class="modal-body">
    <div class="container-fluid">
      <div class="row">
        <div class="form-group">
          <h4 for="UserName">Note:-
           <asp:Label type="text" runat="server" Text="" ID="txtMail"></asp:Label>
          </h4>

        </div>
      </div>
 </div>
 </div>
 <div class="modal-footer">
 <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>

Вот моя серверная функция, которую я тоже хочу вызвать.

protected void SendAndEmail(object sender, EventArgs e)
        {
            ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Server Side Code Also executed.');", true);

        }

Ответы [ 2 ]

1 голос
/ 01 марта 2020

Проблемой в этом случае были data-toggle и data-target атрибуты, препятствующие публикации страницы обратно.

На вашей aspx странице замените вашу кнопку на:

<asp:Button Text="Mail Account Detail" OnClick="SendAndEmail" 
    CssClass="btn btn-primary" type="button" runat="server" />

В вашем C# коде позади

protected void SendAndEmail(object sender, EventArgs e)
{
    ClientScript.RegisterStartupScript(this.GetType(), "alert", 
        "$('#patPortalCredDiv').modal('show');", true);

}

Это откроет bootstrap модальное использование jQuery

0 голосов
/ 02 марта 2020

Это то, что я сделал. Я использую HTML и Java в качестве серверной части для отправки почты.

<body>
    <h3> Please Enter your Email Address </h3>
    <form action="Sendmail" method="post">
    <input type="text" class="form-control" placeholder="staff_email"  email="staff_email">
    <input type="submit" value="Submit">
    </form>
 </body>

На внутренней стороне я использую службу Gmail.

public class EmailUtility{
public static void sendEmail(String host, String port,
        final String senderEmail, String senderName, final String password,
        String recipientEmail, String subject, String message) throws AddressException,
        MessagingException, UnsupportedEncodingException {

    // sets SMTP server properties
    Properties properties = new Properties();
    properties.put("mail.smtp.host", "smtp.gmail.com");
    properties.put("mail.smtp.port", "587");
    properties.put("mail.smtp.auth", "true");
    properties.put("mail.smtp.starttls.enable", "true");

    // creates a new session with an authenticator
    Authenticator auth = new Authenticator() {
        public PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(senderEmail, password);
        }
    };

    Session session = Session.getInstance(properties, auth);

    //creates a new e-mail message
    Message msg = new MimeMessage(session);

    msg.setFrom(new InternetAddress(senderEmail));
    InternetAddress[] toAddresses = { new InternetAddress(recipientEmail) };
    msg.setRecipients(Message.RecipientType.TO, toAddresses);
    msg.setSubject(subject);
    msg.setSentDate(new Date());
    msg.setText(message);

    //sends the e-mail
    Transport.send(msg);
    }
}

Я использую Tomcat Server. Пожалуйста, добавьте следующие строки в Интернете. xml Tomcat Server.

<context-param>
<param-name>email</param-name>
<param-value>abc@gmail.com</param-value>
</context-param>
<context-param>
<param-name>name</param-name>
<param-value><Your Name></param-value>
</context-param>
<context-param>
<param-name>pass</param-name>
<param-value> Your Password Comes Here </param-value>
</context-param>
...