0

我有以下 jquery 在 div 中加载部分视图

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

它工作得很好,但现在我想用这个加载方法传递'var acc',我怎么能做到这一点?

控制器

 [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);
    }
4

2 回答 2

3

您只需要传递acc作为 URL 的一部分。由于您已经在 Action 方法中命名了参数,AccountNumber因此它应该采用这种格式。

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

如果您的参数名称是id您可以使用这种格式(如在默认路由中,可选参数映射为id,应自动处理)

$('#details').load('/AccountAndTransaction/Grab/' + acc, function (html)
于 2012-05-19T10:18:58.553 回答
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);
                }
          });
     }
于 2012-05-19T10:19:12.167 回答