0

我试过浏览这个网站和谷歌的许多选项,关于在回发之前保存 UpdatePanel 的状态有各种想法,但是我不确定如何实现这样的事情。

我在刷新 GridView 的 ASP.NET 页面中有一个 UpdatePanel - 我的代码运行良好。然而,在异步回发上,它会导致 JQuery CSS 消失,这使得文本框看起来是圆形的,文本的颜色等等......

我不需要添加任何 JQuery 事件 - 但只需要知道如何将样式添加回面板 - 重新添加整个框架也是一种选择。

我会将代码添加到我的项目中,但代码量很大 - 以下是我在 Site Master 上的 JQuery 引用:

<!DOCTYPE html> 
<html class="ui-mobile"> 
<head>
<!-- Apple Settings -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> 

<!-- Apple Icons -->
<link rel="apple-touch-icon" href="/touch-icon-iphone.png"/>
<link rel="apple-touch-icon" href="/touch-icon-iphone.png" /> 
<link rel="apple-touch-icon" sizes="72x72" href="/touch-icon-ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="/touch-icon-iphone-retina.png" />
<link rel="apple-touch-icon" sizes="144x144" href="/touch-icon-ipad-retina.png" />
<link rel="icon" href="/touch-icon-ipad-retina.png" />

<!-- Style Sheets -->
<link rel="stylesheet" href="/themes/Sequencing_App_V2.min.css" />
<link rel="stylesheet" href="/css/jquery.mobile-1.2.0.min.css" />
<link rel="stylesheet" href="/css/Custom.css" />

<!-- JavaScript -->
<script type="text/javascript" src="/js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="/javascript/Custom.js"></script>
<script type="text/javascript">

</script>
<script type="text/javascript" src="/js/jquery.mobile-1.2.0.min.js"></script>

<!-- Content Placeholders -->
<title><asp:ContentPlaceHolder ID="page_title" runat="server"></asp:ContentPlaceHolder></title>
<asp:ContentPlaceHolder ID="head" runat="server"></asp:ContentPlaceHolder>

有人可以在这里帮忙吗?

感谢您提供的所有帮助。

史蒂夫

4

1 回答 1

2

jQuery mobile 在构建时添加了许多额外的 html 元素。

这些将在 PostBack 后丢失,您需要为 UpdatePanel 中的新元素重新创建它。

如果您使用列表视图来呈现数据,则需要在 PostBack 之后刷新它

<script type="text/javascript">
    function handleEndRequest(sender, args)
    {
        $('table').listview('refresh');
        //Refresh any other elements
    }

    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(handleEndRequest);
</script>
于 2013-01-29T10:49:07.233 回答