0

ボタンとテーブルのあるページがあります

<input type="submit" value="Email" name="button" class="openDialog" data-dialog-id="Mail Dialog" data-dialog-title="Send Mail" data-url="<%: Url.Action("SendMail") %>" />    

<form>
    <table>
        <tr>
            <th>            
                <input type="checkbox"/>           
             <input type="hidden" class="textfield" id="video0_tags" name="video0_tags" />     
            </th>
            <th>
                FirstName
            </th>
            <th>
                LastName
            </th>
        </tr>
    <% foreach (var item in Model)
       { %>
        <tr>
            <td>            
                <div class="taglist">
                <input type="checkbox" name="check" value="<%: item.ProfileId %>" /> 
                </div>
            </td>
            <td>
                <%: Html.DisplayFor(modelItem => item.FirstName)%>
            </td>
            <td>
                <%: Html.DisplayFor(modelItem => item.LastName)%>
            </td>
    <% } %>
    </table>
</form>

そして私のコントローラーで

[HttpGet]
    public ActionResult SendMail(string video0_tags)
    {            
        return View();
    }

    [HttpPost]
    public ActionResult SendMail(int[] check,Profile profile, mail email)
    {

            foreach (var item in check)
            {
                var dbprofile = db.Profile.Single(p => p.ProfileId == item);
                string Emailid = dbprofile.EmailId;
                MailMessage msg = new MailMessage();
                MailAddress fromAddress = new MailAddress("xxxx@gmail.com");
                msg.From = fromAddress;
                msg.To.Add(Emailid);
                msg.Subject = email.Subject;
                msg.Body = email.Body;
                msg.Priority = MailPriority.High;
                SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.Credentials = new NetworkCredential("xxxxx@gmail.com", "password");
                client.EnableSsl = true;
                client.Send(msg);
            }
        return RedirectToAction("Profiles", "profile");
    }

問題

私の問題は、チェックボックスをオンにした値をポップアップの get actionresult に渡すことができないことです。これは、チェックボックスをオンにしたアイテムに基づいて、複数のメンバーにメールを送信します。

誰でも私を助けることができます.....お願いします

4

1 に答える 1

0

問題は、チェックボックスがブール入力であることです。

非表示の入力フィールドにプロファイル ID を保存するとよいでしょう

ところで、テーブルをフォームでラップすることを忘れないでください。

<form>
   <input type="submit" .../> 
   <table> ... </table>
</form>
于 2013-01-04T09:32:10.497 に答える