jaa*_*aap 6 asp.net ajax asp.net-mvc
我有这种情况:
带有2个选项卡的手风琴页面,其中一个包含付款方式列表,第二个包含订单,金额和总计(呈现为部分视图)的订单摘要.选择付款方式会导致重新计算订单总额,可能会收取额外费用等.
使用AJAX选择paymentmethod后显示新的ordersummary的推荐方法是什么?
进行AJAX调用并获取所有新的金额,订单行等,并使用JS设置这些值对我来说似乎效率低下.理想的情况是,如果我可以使用选定的payement方法进行AJAX调用,并且此调用将返回HTML,我可以使用它来替换旧的摘要.
在服务器上呈现部分视图并使用JSON返回它是不是很糟糕?这种情况的最佳做法是什么?
我在这里有一个例子:
使用Javascript
$("#divForPartialView").load("/HelloWorld/GetAwesomePartialView",
{ param1: "hello", param2: 22}, function () {
//do other cool client side stuff
});
Run Code Online (Sandbox Code Playgroud)
控制器动作
public ActionResult GetAwesomePartialView(string param1, int param2)
{
//do some database magic
CustomDTO dto = DAL.GetData(param1, param2);
return PartialView("AwesomePartialView",dto);
}
Run Code Online (Sandbox Code Playgroud)
在您的操作方法中返回一个PartialView([view name]).
然后你可以用 jquery 来做到这一点:
var req = $.ajax({
type:"GET",//or "POST" or whatever
url:"[action method url]"
}).success(function(responseData){
$('targetelement').append($(responseData));});
Run Code Online (Sandbox Code Playgroud)
其中'targetelement'是要向其中注入内容的元素的选择器。
$('targetelement').html('');在将响应附加到目标元素之前,您可能需要先执行此操作。
更新
或者,更好的是,使用.loadRick 的答案。
| 归档时间: |
|
| 查看次数: |
7280 次 |
| 最近记录: |