0

1つの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();
    }

このプログラムには、投資家がユーザー作成グループの一部になることができる、いくぶん似た機能があります。ユーザーが電子メールを送信する特定のグループを選択できる別の電子メールページがあり、私はこの問題の解決策をそのベースにしようとしていました(それらは本質的に異なりますが..)。誰かが私を正しい方向に向けることができれば、それは素晴らしいことです!

4

1 に答える 1

0

少し前に答えるべきだったのですが、投稿するのを忘れてしまいました。

MVCフォームと、それらがコントローラーとどのように相互作用するかについて調査しました。チェックボックスを文字列配列としてコントローラーに取り込み、ViewDataの次のページに渡すことで、これを簡単に機能させることができました。

于 2013-02-07T17:24:53.007 に答える