【问题标题】:How to update a PlaceHolder on clicking on LinkButton如何在单击 LinkBut​​ton 时更新 PlaceHolder
【发布时间】:2012-01-21 04:59:37
【问题描述】:

我有一个带有 5 个标签的简单网页。每个选项卡都是一个LinkButton。主体是<div>,我在其中放置了PlaceHolder。现在,我想在选项卡上进行单击事件,因此每当我单击其中一个选项卡时,PlaceHolder 都会相应更改。所以,我有两个问题:

  • 如何禁用PostBack 并使LinkButton 仅更新PlaceHolder(使用C#)?

  • 我可以使用 HTML 页面加载/重新加载 PlaceHolder 吗?

谢谢。

【问题讨论】:

  • 感觉就像您在围绕预期的功能转圈。您是否只想在单击选项卡时显示/隐藏选项卡?
  • @David 是的,类似的。这是我第一次使用 ASP.net BTW。

标签: c# asp.net html postback placeholder


【解决方案1】:

如果您希望所有这些都在没有回发的情况下发生,那么我建议您放弃像 LinkButtonPlaceHolder 这样的服务器端控件。作为客户端的关注点,您想要实现的目标要容易得多。

看看jQuery UI tabs。查看各种演示中的代码(单击该页面上的“查看源代码”以查看 HTML 是多么简单),您可以看到它只是附加到常规 HTML 上。没有服务器端。通过让你的标签页头变成纯 HTML 元素(演示中的li/a 元素),你可以绕过整个“回发”的事情,无论如何你都不想要。

这些选项卡上并没有什么特别之处。单击每一个只会更新选项卡元素的 CSS(在本例中为 divs)以更改其 display 属性,从而相应地隐藏和取消隐藏。

需要注意的一点是代码如何处理这种服务器端和客户端功能的分离。从服务器端代码(ASP.NET 的东西)的角度来看,这都是一页。没有什么动态或特殊的事情发生。它像其他任何页面一样呈现整个页面。客户端代码(JavaScript/CSS/HTML 的东西)提供了服务器端代码完全未知的用户体验。就 ASP.NET 而言,它正在向浏览器提供一个页面。仅此而已。

【讨论】:

    【解决方案2】:

    如果您需要在 ASP.NET 中不使用 JQuery (Wonderful) 来实现这一点,请尝试使用 UpdatePanel

    它确实回发,但只能更新占位符部分。

    【讨论】:

      猜你喜欢
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      相关资源
      最近更新 更多