【问题标题】:Display ASP.NET Control on Event在事件中显示 ASP.NET 控件
【发布时间】:2010-03-31 13:50:36
【问题描述】:

我希望使用来自多个来源的代码示例创建一个自定义日期选择器。

当用户单击按钮时显示/隐藏 ASP.NET 控件的代码是否通常使用 JavaScript 或 ASP.NET 代码完成?通过显示/隐藏,我的意思是在页面内不是弹出窗口。

请提供一个简单的例子。 (如果是 ASP.NET,VB 示例优于 C#)

【问题讨论】:

    标签: asp.net javascript vb.net datepicker


    【解决方案1】:

    答案是,视情况而定。您希望日期选择器显示/隐藏触发回发并因此触发服务器上的一些代码,还是希望它仅在客户端上运行?

    如果您希望它完全作用于客户端,则修改按钮的标记:

    <asp:Button runat="server" ID="myButton" OnClientClick="ShowHideCalendar()" Text="myButton" />
    <script language="javascript" type="text/javascript">
    var calendarVisible = false;
    function ShowHideCalendar()
    {
      if (calendarVisible)
      {
        // Code to *SHOW* calendar here
        // Show the DIV it's contained in, pop the window with it in, etc..
      }
      else
      {
        // Code to *HIDE* the calendar here
      }
    }
    </script>
    

    关键位是 asp:Button 控件的“OnClientClick”属性。

    【讨论】:

      【解决方案2】:

      最好的做法是异步执行此类操作,而不是进行刷新整个页面的完整回发。 这意味着您有两种选择:

      1. 更新一个更新面板,您的 控制被放置。那给你 只重新渲染的好处 更新面板中的内容。
      2. 使用 客户端脚本来切换 控制。您还需要执行一个 回调,告诉你的代码隐藏 你刚刚切换了可见性 确保您的代码是相同的 状态为显示它的网页。

      我更喜欢使用第二个。

      【讨论】:

        猜你喜欢
        • 2010-12-07
        • 1970-01-01
        • 2015-10-11
        • 1970-01-01
        • 1970-01-01
        • 2012-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多