2011-08-17 82 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函数。 。 –

相关问题