2011-08-17 144 views
0

我使用此代碼來獲取檢查日期,但它沒有得到int []值。哪裏錯了。如何使用int數組加載partialview的視圖在asp.net中使用jquery mvc

查看頁:

 function displayCheckedPersons() { 
     var $checkedRecords = new Array(); 
     var j; 
     j = 0; 
      var nodes = $("#PersonTree").jstree("get_checked",null,true); 
      $.each(nodes, function (i, element) { 
       if ($(element).attr("ifPerson") == "Y") { 
        $checkedRecords[j] = $(element).attr("id"); 
        j = j + 1; 
       }; 
      }); 

     if ($checkedRecords.length < 1) { 
      alert('Please Select Persons first.'); 
      return; 
     } 


     $('#result').load('<%= Url.Action("DisplayCheckedPersons", "Scheduling") %>',$checkedRecords); 
    } 
</script> 

操作代碼:

 public ActionResult DisplayCheckedPersons(int[] checkedRecords) 
    { 
     AttendMSDataContext db = new AttendMSDataContext(); 
     checkedRecords = checkedRecords ?? new int[] { }; 
     return PartialView("CheckedPersons", db.Persons.Where(o => checkedRecords.Contains(o.id))); 
    } 

編輯戴: 我用$ AJAX張貼陣列,像這樣:

$.ajax({ 
      type: "POST", 
      url: "<%= Url.Action("DisplayCheckedPersons", "Scheduling") %>", 
      data: { checkedRecords: checkedPersons }, 
      dataType: "html", 
      success: function (request) { $("#result").html(request); }, 
      traditional: true 
     }); 
+0

我不認爲它的原因,但你不需要使用checkedRecords的$盈是。 – Henry

回答

0

的數據需要像這樣被使用:

$('#result').load('<%= Url.Action("DisplayCheckedPersons", "Scheduling") %>', $checkedRecords); 

變爲:

$('#result').load('<%= Url.Action("DisplayCheckedPersons", "Scheduling") %>', { checkedRecords: $checkedRecords }); 

的語法是:

{ expectedName: JavascriptVariable, expectedName2: JavascriptVariable2 } 

編輯:

這裏是顯示如何加載您的內容的Ajax示例。從abouve的.load例子應該工作即時通訊不知道什麼適合你去錯了,但在這裏你去:

$.ajax({ 
    type: "POST", 
    url: "<%= Url.Action("DisplayCheckedPersons", "Scheduling") %>", 
    data: { checkedRecords: checkedPersons }, 
    dataType: "json", 
    success: function(data) { 
      $("#YourDiv").html(data); 
     } 
    }); 
+0

JavascriptVariable是$ checkedRecords,如果使用:$('#result')。load('<%= Url.Action(「DisplayCheckedPersons」,「Scheduling」)%>',{checkedRecords:checkedRecords});獲取一個錯誤:checkedRecords未定義 –

+0

將$ checkedRecords重命名爲checkedRecords – Henry

+0

感謝您的幫助!但是,數組值不會傳遞給函數,同時將$ checkedRecords重命名爲checkedPersons,參數int []仍然爲null。我認爲主要問題是如何通過$ .load()將數組值從javascript傳遞給asp.net mvc函數。 。 –

相關問題