0

我正在使用 VS2010,C# 开发我的 ASP.NET Web 应用程序。我的母版页中包含一个用户控件,现在我要从内容页面访问我的用户控件,是否可以通过内容页面客户端事件更改用户控件?我将阻止任何回发

我想模拟这样的网站:

http://www.just-eat.co.uk/restaurants-dialacrate-w13/menu

当我的客户点击食物时,食物应该被添加到我的订单篮中而没有任何回发,我认为它使用的是 JavaScript,对吧?

4

2 回答 2

1

你可以用这个

YouControl uc = (YouControl)Page.Master.FindControl("yourcontrolID");

访问放置在您的母版页中的 UC。

并使用 webservices / webmethods 完成它而无需任何回发。

有关 Web 服务的更多信息,请转到此处

有关 webmethods 的更多信息,请转到此处

于 2012-07-04T05:52:12.453 回答
1

我说的是您在问题中给出的 URL:如果您调查代码,HTML 部分中的篮子部分是:

<div id="divBasketHeaderContent">
    <h4>
        <span id="ctl00_DesktopSideColumn_Basket_lblTxt">Your order</span>
    </h4>
</div>

然后,在 bundle.js 中;

function updateBasket(n, t, i) {
    document.getElementById("ctl00_DesktopSideColumn_Basket_modalProductId").value = n;
    var r = n + "#" + t + "#" + i + "#";
    __doPostBack("ctl00_DesktopSideColumn_Basket_UpdatePanel1", r)
}

因此,他正在使用和 asp.net updatepanel 来更新购物篮。虽然这很好,但不建议这样做,因为在后台,它发送整个页面并返回大量数据..请参阅此处了解原因..

同样在我提供的 Encosia 链接中,您将看到正确完成此操作的一种方法。

您可以使用页面方法Web 服务普通 ajaxWeb api来实现您所需要的。

于 2012-07-04T06:07:18.070 回答