私はそうのような電子メールにリンクしています:TemplateFieldのCheckBoxesからmailto urlを作成するが、電子メールクライアントで空になるボタン?
<asp:BoundField DataField="EmailList" DataFormatString="<a href='mailto:?bcc={0}'>✉</a>" HeaderText="Email Members" HtmlEncodeFormatString="false" SortExpression="EmailList" />
は、私がチェックボックスとボタンでこれを置き換えたいです。例:
はここに私のコントロールです:
<asp:GridView ID="GridView1" AllowPaging="True" AutoGenerateColumns="false" DataKeyNames="EmailList" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:Button OnClick="Button1_Click" Text="✉" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
はここに私の分離コードです:
protected void Button1_Click(Object sender, EventArgs e)
{
string url = "mailto:?bcc=";
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox cb = (CheckBox)row.FindControl("CheckBox1");
if (cb.Checked)
{
string val = GridView1.DataKeys[row.RowIndex].Value.ToString();
url += val;
}
}
Response.Redirect(url);
}
今のところ、これは文字列を作成し、Outlookを開きます。場所は私のhttp要求で完璧なので、文字列は正しく構築されますが、Outlookの新しいメールは空です。 bccはありません。
Response.Redirect
は私が使用したいものではありません。私もClientScript.RegisterStartupScript
にparent.location
で試しましたが、それもうまくいきませんでした。誰にでも解決策がありますか?
答えは、私が探していたものではありません。私はコードと私の問題をいくつか変更して私の質問を更新しました。しかし、ありがとう。 –
あなたは私と同じことをやっているようですが、その後はC#コードを使っています。まず、bcc電子メールアドレスを ';'で区切ることはありません。したがって、1つの大きなbcc文字列になります。第二に、HTTPリダイレクトを使用してmailtoをトリガーします。これは、コードが実行された後にfirefoxが 'オブジェクト移動 'ページを表示するような、奇妙な結果をもたらす可能性があります。しかし、その奇妙なページの一部は、bccアドレス(Outlook 2016)で新しい電子メールを開きます – VDWWD
私は私のために電子メールを分けるSQLを持っています。間違いなくリダイレクトとmailtoプロキシの問題です。 –