2

我有以下 aspx 页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="KezberProjectManager.WebForm2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
     <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<style>
h1 { padding: .2em; margin: 0; }
#products { float:left; width: 500px; margin-right: 2em; }
#cart { width: 200px; float: left; margin-top: 1em; }
/* style the list to maximize the droppable hitarea */
#cart ol { margin: 0; padding: 1em 0 1em 3em; }
</style>
<script>
    $(function () {
        $("#catalog").accordion();
        $("#catalog li").draggable({
            appendTo: "body",
            helper: "clone"
        });
        $("#cart ol").droppable({
            activeClass: "ui-state-default",
            hoverClass: "ui-state-hover",
            accept: ":not(.ui-sortable-helper)",
            drop: function (event, ui) {
                $(this).find(".placeholder").remove();
                $("<li></li>").text(ui.draggable.text()).appendTo(this);
            }
        }).sortable({
            items: "li:not(.placeholder)",
            sort: function () {
                // gets added unintentionally by droppable interacting with sortable
                // using connectWithSortable fixes this, but doesn't allow you to customize active/hoverClass options
                $(this).removeClass("ui-state-default");
            }
        });
    });
</script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <div id="products">
                <h1 class="ui-widget-header">Products</h1>
                <div id="catalog">
                    <h2><a href="#">T-Shirts</a></h2>
                    <div>
                        <ul>
                            <li>Lolcat Shirt</li>
                            <li>Cheezeburger Shirt</li>
                            <li>Buckit Shirt</li>
                        </ul>
                    </div>
                    <h2><a href="#">Bags</a></h2>
                    <div>
                        <ul>
                            <li>Zebra Striped</li>
                            <li>Black Leather</li>
                            <li>Alligator Leather</li>
                        </ul>
                    </div>
                    <h2><a href="#">Gadgets</a></h2>
                    <div>
                        <ul>
                            <li>iPhone</li>
                            <li>iPod</li>
                            <li>iPad</li>
                        </ul>
                    </div>
                </div>
            </div>
            <div id="cart">
                <h1 class="ui-widget-header">Shopping Cart</h1>
                <div class="ui-widget-content">
                    <ol>
                        <li class="placeholder">Add your items here</li>
                    </ol>
                </div>
            </div>

        </div>
    </form>
</body>
</html>

取自http://jqueryui.com/droppable/#shopping-cart

我正在使用 asp .net。我想知道如何修改它,以便每次添加商品时都可以通知服务器,并且能够在将商品放入购物车后运行一些 aspx 代码。

我需要做什么才能拥有类似的东西:

public partial class WebForm1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }  

     protected void Item_Dropped(String itemName)
    {
    }  
}

基本上这样我就可以在服务器上做一些事情,比如将此项目添加到数据库中,而无需刷新页面。

有没有关于如何在 asp .net 中做这种事情的例子?

谢谢

4

1 回答 1

2

看看这个问题——它将帮助您了解在页面上放置文件时如何实现 javascript 事件。

当您有此类事件时,您只需在此事件上绑定 ajax 调用,并且每次触发此事件时向服务器发送 ajax 调用。

它不会是带有所有相关内容(如传输状态、页面重新加载等)的 asp.net 对服务器的请求,只是一个轻量级的异步调用,仅包含您需要的数据。如果你想有标准的回发,调用__doPostBack()由 asp.net 生成的 javascript 函数。

于 2013-01-24T22:34:28.403 回答