【问题标题】:How to stop refreshing the page如何停止刷新页面
【发布时间】:2015-11-14 23:26:45
【问题描述】:

是否有机会在每次按下control 时停止页面刷新?

例如:我更改了DropDownList 的选择并刷新了页面。只是感觉很奇怪。

我使用表单标签runat="server"

【问题讨论】:

  • autopostback=false
  • 试试更新面板对你有帮助!
  • @TFrost 它将停止他的代码在SelectedIndexChanged上运行
  • 然后就可以使用updatepanel了
  • @dahsra :这就是我说 OP 可以使用更新面板的原因,而无需更改任何 control's 属性。

标签: c# asp.net refresh


【解决方案1】:

尝试使用UpdatePanel,您可以在这里找到how to use the update Panel 示例代码。

停止刷新的最简单方法

关于回发: PostBack 是将 ASP.NET 页面提交到服务器进行处理的过程的名称。如果要根据某些来源检查页面的某些凭据(例如使用数据库验证用户名和密码),则会完成 PostBack。这是客户端机器无法完成的事情,因此这些细节必须“回传”到服务器。

什么是 ASP.NET 中的 AutoPostBack 属性:

如果我们创建一个网页,其中包含一个或多个配置为使用AutoPostBack 的 Web 控件(每个 Web 控件都有自己的 AutoPostBack 属性),ASP.NET 会添加一个特殊的 JavaScipt 函数呈现的 HTML 页面。此函数名为 _doPostBack() 。调用时,它会触发 PostBack,将数据发送回 Web 服务器。

Understanding PostBack

尝试将更新面板放入带触发器的下拉菜单中

<asp:UpdatePanel ID="upSetSession" runat="server">
        <ContentTemplate>
            <asp:DropDownList ID="ddlMyList" runat="server" 
                onselectedindexchanged="ddlMyList_SelectedIndexChanged"
                AutoPostBack="true">
                <asp:ListItem>Select One</asp:ListItem>
                <asp:ListItem>Maybe</asp:ListItem>
                <asp:ListItem>Yes</asp:ListItem>
            </asp:DropDownList>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="ddlMyList" 
                EventName="SelectedIndexChanged" />
        </Triggers>
</asp:UpdatePanel>

【讨论】:

    【解决方案2】:

    来自asp.net

    也许 ASP.NET AJAX 扩展最明显的特性是能够进行部分或增量页面更新,而无需对服务器进行完整的回发,无需更改代码和最少的标记更改。优点是广泛的——您的多媒体(例如 Adob​​e Flash 或 Windows Media)的状态不变,带宽成本降低,并且客户端不会遇到通常与回发相关的闪烁。

    将部分渲染集成到您的项目中。看看this 链接。

    另外OnClientClick="return false;" 可能会有所帮助,但在每个按钮上添加OnClientClick="return false;" 不是一个好主意。部分渲染和 AJAX 是更好的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-26
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 2013-02-11
      • 1970-01-01
      • 2015-03-01
      • 2012-07-12
      相关资源
      最近更新 更多