2014-04-17 2 views
1

지금 당장 하나의 값이 전달되고 텍스트 상자에 반환됩니다. 여러 개의 텍스트 상자를 추가하고 컨트롤러에서 아약스 함수에 모든 값을 전달하여 페이지가로드 될 때 텍스트 상자에 표시하려고합니다.아약스에 여러 값을 전달하는 방법은 무엇입니까?

Controller: 

    public string GetFormData() 
    { 
     //using Linq query and EF 
     Form form = db.Forms.Find(1); 
     if (form == null) 
     { 
      return ""; 
     } 
     else 

      return form.username; 

    } 

AJAX :

$("#btnSaveForm").click(function (event) { 
     event.preventDefault(); 

     $('#Result2').html("<img src='/Images/loading.gif' />"); 


     $.post($("#frmform").attr("action"), $("#frmform").serialize(), function (result) { 
      if (result != null) { 
       $('#Result2').html(result); 
      } 
     }); 
    }); 
+0

새로운 텍스트 필드를'

'태그 안에 넣으면 코드가 계속 작동합니다. 컨트롤러에서 캡처해야합니다. –

+0

네, 작동하지만 다른 텍스트 상자 필드에 대해 아약스에 다른 값을 전달하는 방법을 알고 싶습니다. – Mike

+0

아약스에서 POST로 사용자 정의 필드를 보내려면 다음과 같이 시도하십시오.'$ .post ($ ("# val(), field2 : $ ("# field1") .Val()}, 함수 (결과) {attr ("action"), ...' –

답변

1

당신은 단지 JSON 결과를 반환해야합니다. 이 간단한 예제를 고려하십시오

모델

public ActionResult TestJSON() 
    { 
     var model = new JSONTestModel() 
     { 
      Name = "John Smith", 
      IsMarried = true, 
      Age = 35 
     }; 

     return View(model); 
    } 

    [HttpPost] 
    public ActionResult TestJSON(JSONTestModel model) 
    { 
     // YOUR CODE HERE 

     return Json(model); 
    } 

주의 사항

public class JSONTestModel 
{ 
    public string Name { get; set; } 
    public bool IsMarried { get; set; } 
    public int Age { get; set; } 
} 

컨트롤러, 포스트 방법은 JSON 결과를 반환합니다. 그러면 Json으로 전달한 객체가 직렬화됩니다.

보기

@using (Html.BeginForm()) 
{ 
    @Html.EditorForModel() 

    <input id="save-data" type="button" value="Save" /> 
} 

<script type="text/javascript"> 
    $(function() { 
     $('#save-data').click(function() { 
      $.post($("form").attr("action"), $("form").serialize(), function (result) { 
       if (result != null) { 
        alert('Name - ' + result.Name); 
        alert('IsMarried - ' + result.IsMarried); 
        alert('Age - ' + result.Age); 
       } 
      }); 
     }); 
    }); 
</script> 

result 매개 변수는 컨트롤러에 반환 된 JSON 객체입니다.

희망이 있습니다.

관련 문제