ASP.NET MVC:从视图到控制器获取值

问题描述

我在 ASP.NET MVC 中创建了一个 WebGrid。

在这个 WebGrid 中,我显示了两个链接

webGrid.Column("",format: item => Html.ActionLink("PDF","ExportPDF",new { id = item.sID },new { target = "_blank" })),webGrid.Column("",format: item => Html.ActionLink("E-mail","SendEmail",

一个链接获取 item.sID 到控制器以导出文件 PDF

public void ExportPDF(int id)
{
    // code
}

第二个链接打开一个新的 View,其中包含用于发送电子邮件的表单

@using (@Html.BeginForm("Email","Home",FormMethod.Post))
{
    @Html.AntiForgeryToken()
    <div>
        @Html.ValidationSummary(true,"",new { @class = "text-danger" })
        <div class="row">
            <div class="col-md-3">
                <div class="form-group">
                    @Html.LabelFor(model => model.To,"To",htmlAttributes: new { @Class = "Mytextarea2" })
                    @Html.TextBoxFor(m => m.To,new { @Class = "Mytextarea2",placeholder = "To" })
                    @Html.ValidationMessageFor(m => m.To,new { @class = "text-danger" })
                </div>
            </div>
        </div>
}

我无法使用发送电子邮件的表单检索和发送 item.sID 的值并发送一个新的 View

[HttpPost]
public ActionResult SendEmail(int id)
{
    return View();
}

问题是

如何从视图中获取 item.sID 的值(带有发送电子邮件的表单)传递给 ActionResult 电子邮件(PersonModel 模型)以导出带有 item.sID 值的 pdf?

[HttpPost]
public ActionResult Email(PersonModel model)
{
    string from = System.Web.HttpContext.Current.Session["UserEmail"].ToString();
    using (MailMessage mail = new MailMessage(from,model.To))
    {
        mail.Subject = model.Subject;
        mail.Body = model.Body;
        mail.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "xxxx";
        smtp.Port = 25;
        smtp.Send(mail);
        ViewBag.Message = "Email";
        return View("Email",model);
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)