2012-05-19 55 views
0

我有这个下面的jQuery加载局部视图在一个div使用jQuery负载通ID

var acc = this.id;  
$('#details').load('/AccountAndTransaction/Grab', function (html) 
      { $('#details')[0].value = html; }); 

,其工作良好,但现在我想通过“无功ACC”与此负载的方法,我怎么能达到这个?

controlller

[HttpGet] 
    public ActionResult Grab(string AccountNumber) 
    { 

     TermDepositAccountViewModel tdParent = new TermDepositAccountViewModel(); 
     account ac = db.accounts.Single(u => u.accountNumber == AccountNumber); 
     deposittd td = db.deposittds.Single(u => u.accountNumber == AccountNumber); 
     tdParent.deposittd = td; 
     tdParent.account = ac; 
     return PartialView("TermDepositPartialView", tdParent); 
    } 

回答

3

你只需要到acc通过为URL的一部分。由于您已在Action方法中将您的参数命名为AccountNumber,因此它应该采用此格式。

$('#details').load('/AccountAndTransaction/Grab?AccountNumber=' + acc, function (html) 

如果你的参数名称是id你可以把它以这种格式(如可选参数映射为id默认路由,它应该被自动处理)

$('#details').load('/AccountAndTransaction/Grab/' + acc, function (html) 
1
 //var AccountNumber= $(this).attr('id'); // try this 

    $('#details').load('/AccountAndTransaction/Grab', { 
      AccountNumber:AccountNumber} function (html){ 
      $('#details:first').html(data); }); 
      //Or 

      var AccountNumber = $(this).attr('id'); 
      $.ajax({ 
       url: '/AccountAndTransaction/Grab', type: 'Get', dataType: 'json', 
       data: { AccountNumber: AccountNumber }, 
       success: function (data) { 
        $('#details:first').html(data); 
       } 
      }); 
    } 
+0

请,请勿再次使用'$(this).attr('id')'。 –