簡體   English   中英

當用戶單擊視圖中的按鈕時,如何從控制器為列表中的每個項目調用方法

[英]How to call method from controller for each item in a list when the user click a button in View

我正在使用帶有EF6的ASP.Net MVC,我想允許用戶通過單擊“視圖”中的“發送”按鈕來發送電子郵件給學生列表,然后消息將發送給列表中的每個學生(學生的電子郵件地址存儲在列表中) )。 用戶將輸入他的姓名,電子郵件和消息,

用戶單擊視圖中的發送時,如何從控制器為每個學生調用聯系人方法?

    public ActionResult Project(int? id)
    {
         mytable s = new mytable()
        {
        //this student list contains student information (name, email .. ) 
        Student = (from ss in db.Student
                        join sp in db.Stu_Projects on ss.studentId equals 
                        sp.StuId
                        where sp.PId == id
                        select ss).ToList()
        };
     return View(s);

    }

    //I want to call this method for each student in the list when the user click send button in the view 
    [HttpPost] 
    [ValidateAntiForgeryToken]
    public async Task ContactAsync(String FromName, String FromEmail, String Message,String to)
    {
        if (ModelState.IsValid)
        {
            var body = ".....";
            var message = new MailMessage();
            message.To.Add(new MailAddress(to));  // receiver (each student in the list) 
            message.Subject = "Testing";
            message.Body = string.Format(body, FromName, FromEmail, Message);
            message.IsBodyHtml = true;
            using (var smtp = new SmtpClient())
            {
                await smtp.SendMailAsync(message);
            }
        }
    }

 @model -------- @{ /**/ ViewBag.Title = "Project";} <form> Email <input type="text" name="email" placeholder="your email..." id="from"> Subject <input type="text" name="subject" placeholder="Subject..." id="contact-subject"> Message <textarea name="message" placeholder="Message..." id="contact-message"></textarea> <button type="submit" class="btn">Send message</button> </form> 

輸入名稱應與函數ContactAsync中的屬性中的名稱相同

<input name="FromName"/> 

等等..

你也可以閱讀msdn 在這里輸入鏈接描述

您可以在razor視圖下嘗試此操作。

 @model  --------
    @{
        /**/
    ViewBag.Title = "Project"; 
    }
    <form>
    Email
    <input type="text" name="email" placeholder="your email..." id="email">
    Subject
    <input type="text" name="contact-subject" placeholder="Subject..." id="contact-subject">
    Message
    <textarea name="contact-message" placeholder="Message..." id="contact-message"></textarea>                       
    <button type="submit" class="btn">Send message</button>
    </form>

暫無
暫無

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

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