我正在使用VS2010,C#开发我的ASP.NET Web应用程序。我的主页中包含用户控件,现在我要从内容页面访问我的usercontrol,是否可以通过内容页客户端事件更改usercontrol?我要阻止任何回发
我想模拟这样的网站:
http://www.just-eat.co.uk/restaurants-dialacrate-w13/menu
当我的顾客点击食物时,应该将食物添加到我的订单篮中而不进行任何回发,我认为它使用的是JavaScript,对吗?
答案 0 :(得分:1)
您可以使用此
YouControl uc = (YouControl)Page.Master.FindControl("yourcontrolID");
可以访问放置在母版页中的UC。
并使用webservices / webmethods完成它而不进行任何回发。
有关webservices Go here
的更多信息有关webmethods Go here
的更多信息答案 1 :(得分: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更新篮子。虽然这很好,但是没有建议,因为在后台,它会发送整个页面并返回大量数据.. See here以查看原因..
同样在我提供的Encosia链接中,您将看到正确完成此操作的方法之一。
您可以使用page methods,web services,plain ajax或web api来满足您的需求。