在asp.net页面之间传递复选框值

时间:2012-12-31 21:49:11

标签: c# asp.net-mvc javascript-events asp.net-ajax

在一个ASP.NET页面上,我有一个DataTable,其中包含一个投资者列表。客户希望添加一项功能,允许其用户从该列表中选择个人投资者,并且有一个电子邮件按钮,可以打开一个电子邮件页面并用投资者电子邮件填充bcc。到目前为止,我已经实现了复选框,并且我成功浏览了复选框并抓取了仅选中复选框的电子邮件。从这一点来说,我完全迷失了如何将该日期发送到下一页并让它们自动填入bcc。到目前为止,这是我的代码:

<a onclick="grabEmail()" href="/Settings/EmailSelect" class="button blue" >Email Selected</a> 
...
...
...
<script type="text/javascript">
    function grabEmail() {
    var emails = new Array();
    var $checked = $('[@id=investoremails:checked');
    $checked.each(function () {
        emails.push($(this).val());
        alert($(this).val()); //This was just to check to make sure emails 
                              //were grabbed
    }

    );

    $.ajax({
        url: '/Settings/EmailSelect/',
        type: "POST",
        data: emails,
        traditional: true,

    });
}   

然后,在EmailSelect页面上......

 $(document).ready(function() {
    $.ajax({
        type: "GET",
        url: "/Settings/EmailSelect",
        error: function (xhr, status, error) {
            $("#results").html("An error occurred: " + error).addClass("notification error");
            return false;
        },
        success: function(response) {
            if (response != null) {
                if (!response.Successful) {
                    $("#results").html("An error occurred: " + response.Exception).addClass("notification error");
                    return false;
                } else {
                    $("#bcc").val(response.ReturnVal);
                }
            }
        }
    });
});

对于控制器......

public ActionResult EmailSelect(string[] emails)
    {
        ViewData["Selected"] = emails;
        return View();
    }

我们在此计划中有一些类似的功能,投资者可以成为用户创建的群组的一部分,还有另一个电子邮件页面,用户可以选择要通过电子邮件发送的特定群组,我试图解决此问题的解决方案那(虽然它们本质上是不同的......)。如果有人能指出我正确的方向,那就太棒了!

1 个答案:

答案 0 :(得分:0)

我应该在一段时间之前回答这个问题,但我忘记发帖了。

我对MVC表单以及它们如何与控制器进行交互做了一些研究,我很容易通过将复选框作为字符串数组拉入控制器,然后将它们传递到下一页来实现这一点。 ViewData的。