2016-02-29 1 views
-2

Я пытаюсь реализовать Sign Up api Constant Contact. Они дали мне этот HTML-код. Правильно работает, если я сохраню его как HTML-страницу.html form to C# код-код

Что я хочу сделать, это преобразовать эту форму в код C#, который будет выполнять onClick кнопки. Часть 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> 
+0

Почему голос? – codeNinja

ответ

1

Вот пример кода, который вы можете поместить в свою кнопку OnClick. Данные POST для другого URL.

Надеюсь, вы сможете выяснить, что происходит в этом коде. В основном он строит строку (данные) со всеми данными из HTML-формы и передает ее на другой веб-сайт, используя HTTP POST.

Скорее всего, вам также необходимо будет проверить ответ с другого сайта.

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

 Смежные вопросы

  • Нет связанных вопросов^_^