我想知道在其中一件商品上单击购买按钮时的最佳做法是什么。我希望它看起来唯一正在发生的事情是购物车正在闪烁另一件商品。我应该怎么做才能做到这一点。我应该通过 POST 操作发送大量信息,以便我可以重新创建相同的页面并滚动到相同的位置(这将非常不方便),还是有更智能和更好的解决方案。我正在使用 Visual Studio 和 MVC 3
正如你可能理解的那样,我对网页设计还是很陌生,尽管在过去的 15 年里我时不时地使用它。
问候
设计您的网站以使其在非 js 环境中正常工作是一种很好的做法。在这种情况下,您的按钮将提交带有整页刷新的表单。您的页面已重新加载,您的购物篮现在向用户指示其中有一个额外的项目。
为了给我们的用户提供更好的体验,我们可以使用 AJAX 调用来增强提交操作。
这可以通过在 jQuery 中编写一个触发按钮的单击事件(或表单的提交事件)的 AJAX 调用来完成。
在表单提交上使用 jQuery 的示例
$('form').submit(function(e){
e.preventDefault(); //prevents full post-back
$.ajax({
type: "POST",
url: "\\somesite\endpoint",
data: $(this).serialize()
}).done(function( bacon ) {
alert( "Receive: " + bacon );
});
});
MVC 3 Ajax 扩展
MVC3 也有一些 AJAX 扩展方法来帮助我们。尤其是Ajax.BeginForm
@using (Ajax.BeginForm())
{
/* Your form elements here */
<input type="submit" value="OK" />
}
这是一个关于如何使用它的简单示例How to use ajax beginform