我有一个包含5个标签的简单网页。每个标签都是LinkButton
。主体是<div>
,我在其中放置PlaceHolder
。现在,我想在选项卡上进行单击事件,因此每当我单击其中一个选项卡时,PlaceHolder
都会相应更改。所以,我在这里有两个问题:
如何停用PostBack
并使LinkButton
仅更新PlaceHolder
(使用C#)?
我可以使用HTML页面加载/重新加载PlaceHolder
吗?
感谢。
答案 0 :(得分:1)
如果您希望在没有回发的情况下完成所有这些操作,那么我建议您远离服务器端控件,例如LinkButton
和PlaceHolder
。作为客户端关注点,您正在努力实现的目标更容易实现。
看看jQuery UI tabs。查看各种演示中的代码(单击该页面上的“查看源代码”以查看HTML的简单程度),您可以看到它只是附加到常规HTML。没有服务器端。通过使标签标题显式为HTML元素(演示中的li
/ a
元素),您可以绕过整个“回发”内容,无论如何都不需要。
这些标签上没有什么特别的事情发生。单击每个选项卡只会更新选项卡元素的CSS(在本例中为div
)以更改其display
属性,相应地隐藏和取消隐藏。
需要注意的一点是代码如何处理服务器端和客户端功能的这种分离。从服务器端代码(ASP.NET的东西)的角度来看,它只是一个页面。没有任何动态或特殊的事情发生。它呈现整个页面与其他任何页面。客户端代码(JavaScript / CSS / HTML的东西)提供了服务器端代码完全未知的用户体验。就ASP.NET而言,它正在向浏览器提供一个页面。没什么。
答案 1 :(得分:0)
如果您需要在ASP.NET中不使用JQuery(Wonderful),请尝试使用UpdatePanel
它会回发,但只能更新占位符部分。