2012-12-31 90 views
0

在一个ASP.NET页面上,我有一个DataTable的投资者列表。该客户希望添加一项功能,允许用户从该列表中选择个人投资者,并拥有一个电子邮件按钮,该电子邮件按钮将打开一个电子邮件页面并使用投资者电子邮件填充密件抄送。到目前为止,我已经完成了复选框,并且我正在成功地通过复选框并获取仅限复选框的电子邮件。从这一点上,我完全丧失了如何将该日期发送到下一页,并让他们自动填写密码。这是我到目前为止的代码:在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, 

    }); 
} 

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

有一个令人信服的理由,你通过'JavaScript'完成了所有这些吗?我会在服务器上完成所有这些工作,而不是在客户端上。该按钮不应该做任何事情,除了回发到服务器,其中,可以执行重定向。 – Servy

+0

您认为您要通过的数据量的平均值和最大值是多少?如果它足够低,我会把它放在一个查询字符串中,但是如果你需要支持数百个电子邮件地址,这不是一个实际的选择。 – Servy

+0

我有一位高级开发人员(在办公室外工作)请求咨询,他建议“类似的事情”。至于电子邮件的数量,最大可能是几十个,所以我不相信一个查询字符串可以工作 –

回答

0

我应该早一点回答这个问题,但是我忘了发布它。

我做了一些关于MVC窗体的研究,以及它们如何与控制器进行交互,并且通过将复选框作为字符串数组拉入控制器,然后将它们传递给下一页在ViewData中。