Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在asp.net页面之间传递复选框值_Javascript_C#_Asp.net Mvc_Asp.net Ajax_Dom Events - Fatal编程技术网

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

Javascript 在asp.net页面之间传递复选框值,javascript,c#,asp.net-mvc,asp.net-ajax,dom-events,Javascript,C#,Asp.net Mvc,Asp.net Ajax,Dom Events,在一个ASP.NET页面上,我有一个数据表,上面有一个投资者列表。该客户希望增加一项功能,允许其用户从该列表中选择个人投资者,并有一个电子邮件按钮,打开电子邮件页面,在密件抄送中填写投资者电子邮件。到目前为止,我已经实现了这些复选框,我正在成功地通过这些复选框,并仅获取复选框的电子邮件。从这一点上说,我完全不知道如何将日期发送到下一页,并让他们自动填写到密件抄送。以下是我目前的代码: <a onclick="grabEmail()" href="/Settings/EmailSelect"

在一个ASP.NET页面上,我有一个
数据表
,上面有一个投资者列表。该客户希望增加一项功能,允许其用户从该列表中选择个人投资者,并有一个电子邮件按钮,打开电子邮件页面,在密件抄送中填写投资者电子邮件。到目前为止,我已经实现了这些复选框,我正在成功地通过这些复选框,并仅获取复选框的电子邮件。从这一点上说,我完全不知道如何将日期发送到下一页,并让他们自动填写到密件抄送。以下是我目前的代码:

<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,

    });
}   
而对于控制器

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

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

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


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

您通过
JavaScript
执行所有这些操作是否有令人信服的原因?实际上,所有这些工作都是在服务器上完成的,而不是在客户端。该按钮除了发回服务器之外不应该做任何事情,服务器可以执行重定向。您认为您要传递的平均数据量和最大数据量是多少?如果它足够低,我会把它放在一个查询字符串中,但如果你需要支持数百个电子邮件地址,这不是一个实际的选择。有一位高级开发人员(在办公室工作),我向他征求意见,他建议“类似的事情”。就电子邮件的数量而言,最多可能是几十封,因此我不相信查询字符串会起作用。如果您不知道,您当前正在通过查询字符串发送数据,它只是在异步调用的
post
请求中,因此它永远不会出现在浏览器的URL中。
public ActionResult EmailSelect(string[] emails)
    {
        ViewData["Selected"] = emails;
        return View();
    }