簡體   English   中英

MVC-在控制器中獲取HTML標簽

[英]MVC - Get Html tag in Controller

我的網站上有一個部分,當用戶單擊“發送”按鈕時,我想將其作為電子郵件發送給用戶。 如何將HTML及其內容傳遞給控制器​​,然后將其作為消息正文傳遞給smtpClient

我有

<div id="mydiv">
<div>
<a>Click Here</a>
</div>

</div>

我想從控制器調用id mydiv時獲取所有html及其內容(<div id="mydiv"><div><a>Click Here</a></div></div>)

您可以使用jQuery截獲點擊,並構造一個包含您選擇的html的ajax請求。 接受html作為具有匹配名稱的字符串參數。 然后使用smtp客戶端將其轉發到您選擇的地址。

<script>
$(document).ready(function () {
    $(document).on("click", "#button1", {}, function (event) {
        event.preventDefault();

        var x = $("#mydiv").html();

        var options = {
            url: "your url",
            method: "POST",
            data: {
                data1: x
            }
        };

        var req = $.ajax(options);

        req.done(function (resp) {
            alert("Email sent");
        });

    });
});
</script>

<div id="mydiv">
<div>
    <a id="button1">Click Here</a>
</div>
</div>


public IActionResult TestAction(string data1)
{
        SmtpClient client = new SmtpClient("smtp_server");
        client.UseDefaultCredentials = false;
        client.Credentials = new NetworkCredential("username", "password");

        MailMessage mailMessage = new MailMessage();
        mailMessage.From = new MailAddress("test@test.com");
        mailMessage.To.Add("test@test.com");
        mailMessage.Body = data1;
        mailMessage.Subject = "subject";
        client.Send(mailMessage);

        return null;//or whatever you want
}

我會使用html編輯器,例如檢查ckeditor 是關於如何使用mvc實施的教程,並且在安裝CKEDITOR時,請確保confightmlhtmlcodeOutput為true。 如果使用了該操作,則該操作可能會由於包含危險輸入而拒絕該請求,因此您必須將validate輸入設置為false,或檢查此信息以獲取更多詳細信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM