2012-03-08 2 views
2

Я хочу опубликовать данные формы asp.net с помощью ajax. и хотите получить эти данные на другой странице в виде массива форм.Как отправить данные формы в asp.net с помощью ajax

это хочу я делаю сейчас Default2.aspx

$('#btnSubmit').click(function() { 
      $.ajax({ 
       type: "POST", 
       url: "Default3.aspx", 
       data: $('#form1'), 
       success: function (msg) { 
        alert("Success"); 
       } 
      }); 
     }); 

и на Default3.aspx

protected void Page_Load(object sender, EventArgs e) 
    { 

     int loop1; 
     NameValueCollection coll; 

     //Load Form variables into NameValueCollection variable. 

     coll = Request.Form; 
     // Get names of all forms into a string array. 
     String[] arr1 = coll.AllKeys; 
     for ( loop1 = 0; loop1 < arr1.Length; loop1++) 
     { 
      Response.Write("Form: " + arr1[loop1] + "<br>"); 
      Label1.Text = arr1[loop1]; 
     } 

    } 

Update: Я посылаю сериализованный объект через AJAX вызова. Я хочу, чтобы эти данные были в моем коде asp.net. Как я могу это сделать ?

ответ

-1

Проверьте это один раз. Post data to other page using ajax

+0

не помогает. Я делаю вызов ajax и хочу получать данные на странице запроса. Я хочу знать, как я могу получать данные. –

+0

Рассмотрите возможность добавления важного содержания ссылки к вашему ответу. Ссылка, которую вы сейчас используете, прямо не отвечает на вопрос, а вместо этого ссылается только на проект. – shortstuffsushi

0

если есть несколько полей в форме, может быть, вы должны использовать $ .ajax вроде как:

$.ajax({ 
       type: "POST", 
       url: "default3.aspx", 
       data: {name:"usename", sex:"male", age:"18"}, 
       dataType:"json", 
       success: function (msg) { 
        alert("Success"); 
       } 
      }); 

я думаю, что это самый простой способ.

+0

Простите, не это. – jgauffin

4

Используйте метод serialize.

Поскольку вы используете форму, вы можете позволить ей контролировать, как сделать пост:

var $frm = $('#form1'); 
$('input[type="submit]', $frm).click(function (e) { 
    e.preventDefault(); 

    $.ajax({ 
     type: $frm.attr('method'), 
     url: $frm.attr('action'), 
     data: $frm.serialize(), 
     success: function (msg) { 
      alert("Success"); 
     } 
    }); 
}); 

который может быть переработан в общий сценарий, который вы можете разместить в вашем Masterpage:

<script type="text-javascript"> 
    $(function() { 
     $('.post-using-ajax').each(function() { 
      var $frm = $(this); 
      $frm.submit(function (e) { 
       e.preventDefault(); 

       $.ajax({ 
        type: $frm.attr('method'), 
        url: $frm.attr('action'), 
        data: $frm.serialize(), 
        success: function (msg) { 
         alert("Success"); 
        } 
       }); 
      }); 
     }); 
    }); 
</script> 

Который позволит вам преобразовать все формы с классом CSS post-using-ajax в формы AJAX.

<form method="POST" action="someAction" class="post-using-ajax"> 
    <!-- all form items --> 
</form> 
+0

Пожалуйста, прочитайте мой вопрос еще раз. –

+0

@MurtazaHussain: Что ты пытаешься сказать? Обе части моего примера должны работать, как вы говорите. Возможно, вы захотите перефразировать свой вопрос иначе. – jgauffin

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