-2

Sign UpのAPIを実装しようとしていますConstant Contact。彼らは私にこの HTML コードをくれました。HTMLページとして保存すると正常に動作します。

私がしたいのは、このフォームをボタンの onClick を実行する C# コードに変換することです。HTML 部分は問題ないように見えますが、今日は ASP.net を使用する最初の日であり、コード ビハインド .cs ファイルにどのコードを配置すればよいかわかりません。たくさん検索して、とても混乱しています。

このメソッドは、送信ボタンがクリックされたときにクリックされます。

protected void buttonId_Click(object sender, EventArgs e)
{

}

ここに私のUI側のコードがあります:

<asp:TextBox ID="TextBox3" runat="server" class="name" value="First Name" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'First Name';}"></asp:TextBox>
<asp:TextBox ID="TextBox4" runat="server" class="name" value="Last Name" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Last Name';}"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server" class="name" value="Join our mailing list" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Join our mailing list';}"></asp:TextBox><br>

<asp:Button id="buttonId" OnClick="buttonId_Click" class="btn btn-info sub1" runat="server" Text="SUBSCRIBE">

</asp:Button>

これは私が絶え間ない接触から得たHTMLコードです:

<form data-id="embedded_signup:form" class="ctct-custom-form Form" name="embedded_signup" method="POST" action="https://visitor2.constantcontact.com/api/signup">
   <p>Sign up to get interesting news and updates delivered to your inbox.</p>
   <!-- The following code must be included to ensure your sign-up form works properly. -->
   <input data-id="ca:input" type="hidden" name="ca" value="my-secrect-key">
   <input data-id="list:input" type="hidden" name="list" value="3">
   <input data-id="source:input" type="hidden" name="source" value="EFD">
   <input data-id="required:input" type="hidden" name="required" value="list,email">
   <input data-id="url:input" type="hidden" name="url" value="">
   <p data-id="Email Address:p" ><input data-id="Email Address:input" type="text" name="email" value="" maxlength="80"></p>
   <p data-id="First Name:p" ><input data-id="First Name:input" type="text" name="first_name" value="" maxlength="50"></p>
   <p data-id="Last Name:p" ><input data-id="Last Name:input" type="text" name="last_name" value="" maxlength="50"></p>
   <button type="submit" class="Button ctct-button Button--block Button-secondary" data-enabled="enabled">Sign Up</button>
</form>
4

1 に答える 1

1

ボタンの OnClick イベントに配置できるコードの例を次に示します。この POST のデータを別の URL に送信します。

うまくいけば、このコードで何が起こっているのか理解できるでしょう。基本的には、HTML フォームからのすべてのデータを使用して文字列 (データ) を作成し、HTTP POST を使用してこれを他の Web サイトに送信します。

ほとんどの場合、他の Web サイトからの応答も確認する必要があります。

string remoteUrl = "https://visitor2.constantcontact.com/api/signup";

ASCIIEncoding encoding = new ASCIIEncoding();
string data = "ca=my-secrect-key&list=3&source=EFD&required=list,email&url=&email=" + Server.UrlEncode(TextBox1.Text) + "&first_name=" + Server.UrlEncode(TextBox2.Text) + "&last_name=" + Server.UrlEncode(TextBox3.Text);
byte[] bytes = encoding.GetBytes(data);
HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(remoteUrl);
httpRequest.Method = "POST";
httpRequest.ContentType = "application/x-www-form-urlencoded";
httpRequest.ContentLength = bytes.Length;
using (Stream stream = httpRequest.GetRequestStream())
{
    stream.Write(bytes, 0, bytes.Length);
    stream.Close();
}
于 2016-02-29T03:15:41.857 に答える