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

Passing checkbox values between asp.net pages

本文关键字:复选框 之间 asp net      更新时间:2023-09-26

. NET页面,我有一个投资者列表的DataTable。客户希望增加一个功能,允许他们的用户从列表中选择个人投资者,并有一个电子邮件按钮,可以打开电子邮件页面,并用投资者电子邮件填充密件。到目前为止,我已经实现了复选框,并且我成功地检查了复选框并抓取了选中框的电子邮件。从这一点开始,我完全不知道如何将日期发送到下一页,并让它们自动填充到密件中。下面是我到目前为止的代码:

<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);
                }
            }
        }
    });
});

对于Controller.

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

我们在这个程序中有一些类似的功能,投资者可以成为用户创建组的一部分,并且有另一个电子邮件页面,用户可以选择一个特定的组发送电子邮件,我试图以此为基础解决这个问题(即使它们本质上是不同的…)。如果有人能给我指出正确的方向,那就太好了!

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

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