UpdatePanel删除JQuery Mobile Style(CSS)

时间:2013-01-29 09:55:39

标签: asp.net css jquery updatepanel

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

我在ASP.NET页面中有一个UpdatePanel,用于刷新GridView - 我的代码运行良好。但是在Async Post-back上它会导致JQuery CSS消失,这使文本框看起来像圆形,文本颜色等......

我不需要添加任何JQuery事件 - 但是只需要知道如何将样式添加回Panel中 - 将整个框架添加回来也可以是一个选项。

我会将代码添加到我的项目中,但是它的大量 - 下面是我的站点主机上的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>

有人可以帮忙吗?

感谢您提供的所有帮助。

史蒂夫

1 个答案:

答案 0 :(得分:2)

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

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

如果您使用listview来显示数据,则需要在PostBack后刷新它

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

    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(handleEndRequest);
</script>