标签: updatepanel

ASP.NET在更新面板更新时显示"正在加载..."消息

您好我正在创建一个ASP.NET/C#应用程序我有一个需要时间更新的更新面板.有没有办法在计算期间显示"正在加载...请等待"消息?

目前我正在使用AJAX面板动画淡入/淡出,使面板在计算时消失,然后在完成时重新出现.但这不太实际.

如果可能,我需要显示一条消息.

感谢您的任何帮助.

这是我的面板的代码:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click"/>
    </Triggers>
    <ContentTemplate>
        //Contents goes here
    </ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

和Ajax Panel动画扩展器

<ajaxToolkit:UpdatePanelAnimationExtender ID="UpdatePanelAnimationExtender1" runat="server" TargetControlID="UpdatePanel1">
    <Animations>
        <OnUpdating>
            <FadeOut Duration="1" Fps="20" />
        </OnUpdating>
        <OnUpdated>
            <FadeIn Duration="2" Fps="20" />
        </OnUpdated>
    </Animations>
</ajaxToolkit:UpdatePanelAnimationExtender>
Run Code Online (Sandbox Code Playgroud)

c# asp.net ajax updatepanel

28
推荐指数
2
解决办法
12万
查看次数

ASP.NET - UpdatePanel和JavaScript

有没有办法在UpdatePanel进程完成时执行脚本.

我有一个页面,允许"插入","复制"和"编辑"记录.这都是在UpdatePanel上完成的,以防止页面导航.在页面的其他地方,我想打印一条"flash"消息 - 比如"你已成功输入记录".它不在UpdatePanel附近,我想对消息使用jQuery效果,因此它会在4秒后淡出.如何使用UpdatePanel发回脚本或在UpdatePanel刷新后执行脚本?我应该将脚本写入asp:literal吗?想法?

asp.net updatepanel asp.net-ajax

25
推荐指数
2
解决办法
4万
查看次数

如何在KeyUp上创建文本框回发?

我有一个文本框,可以更改OnTextChanged事件中下拉列表的内容.当文本框失去焦点时,此事件似乎会触发.如何在按键或键盘事件中实现此目的?

这是我的代码示例

<asp:TextBox ID="Code" runat="server" AutoPostBack="true" OnTextChanged="Code_TextChanged">                

<asp:UpdatePanel ID="Update" runat="server">
    <ContentTemplate>
        <asp:DropDownList runat="server" ID="DateList" />             
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Code" />
    </Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

所以在代码隐藏中,我在页面加载时绑定下拉列表.Code_TextChanged事件只是重新绑定下拉列表.我希望在每个按键上发生这种情况,而不是在文本框失去焦点时发生.

我最近继承了这个代码,这不是我这样做的理想方法,但是时间限制阻止我在web servicy方法中重写它.

我已经尝试使用jQuery来绑定"keyup"事件以匹配文本框的"更改"事件,但这仅适用于按下的第一个键.

asp.net ajax postback updatepanel asp.net-ajax

24
推荐指数
1
解决办法
6万
查看次数

jQuery AJAX与UpdatePanel

我们有一个包含大量jQuery(大约2000行)的页面,我们想要减少b/c这是一个维护噩梦,它可能更容易维护在服务器上.我们已经考虑过使用UpdatePanel.但是,我们不喜欢UpdatePanel将整个页面发送回服务器的事实.

javascript asp.net ajax jquery updatepanel

22
推荐指数
3
解决办法
1万
查看次数

在AJAX更新面板中上传文件而没有完整的回发

我有一个更新面板,在更新面板中我有文件上载控件和按钮控件,单击按钮,我需要在updatepanel中的fileupload控件中上传的文件.

确切的情况,我有第8个标签,每个标签包含了太多的信息,其中一个选项卡是附件,当添加呈现出新的附件模式弹出的用户点击,莫代尔包含的UpdatePanel和我都FileUpload控件在DetailsView DetailsView控件,当用户点击保存按钮,detailsview插入事件触发,在插入事件中我需要我上传的文件.
请注意,我的页面很重,我不想要完整的postBack.


有没有人有这个问题的解决方案?

感谢您的帮助......

asp.net ajax updatepanel file-upload asynchronous-postback

20
推荐指数
1
解决办法
2万
查看次数

在部分回发ASP.NET上维护面板滚动位置

我有一个在ASP.NET Panel中放置的gridview.面板和Gridview都在UpdatePanel中.gridview中有一列导致部分PostBacks.我想在这些回发上保持Panel Scroll位置.有什么办法吗?问候.

asp.net postback scroll updatepanel

20
推荐指数
2
解决办法
4万
查看次数

异步回发后性能下降 - 滚动变得可怕

我的任务是帮助提高asp.net(4.5)webforms应用程序的性能,不幸的是使用了updatepanels. 他们真的很邪恶. 但摆脱它们并不是那么简单,因为系统与一大堆东西捆绑在一起.我已经能够摆脱一些不必要的更新面板.

无论如何,这是一个CRM类型的系统,所以想象一下你去一个客户的详细信息页面.在客户的详细信息页面中,您可以获得一些常规客户信息.页面底部有标签.例如,客户详细信息页面可以包含适用于该客户的"联系人"选项卡,客户销售的"产品",客户的"评级"等.这些选项卡中的每一个基本上都是div,并且它周围是一个更新面板.最初只加载第一个选项卡.当您单击选项卡时,将进行异步调用,该调用将使用数据加载选项卡.所以基本上你有一个看起来像这样的页面:伪代码:

updatepanel for entire page
  html  

  <!-- tabs -->

  updatepanel for contacts sub panel
     contacts html
  /updatepanel

  updatepanel for products sub panel
     products html
  /update panel

  updatepanel for ratings sub panel
     ratings html
  /update panel

/updatepanel end the entire page
Run Code Online (Sandbox Code Playgroud)

提到的选项卡是div,基本上是jquery选项卡.起初我注意到页面上的每个更新面板都updatemode设置为always.当我需要更新面板更新时,我立即更改了updatemodeto conditional并显式调用Update().一个非常小的改进.然后我注意到初始更新面板(用于整个页面的面板)的ChildrenAsTrigger属性设置为true ...所以我将其更改为false.非常小的改进.

然后我再次开始测试页面,看看性能如何...仍然非常糟糕.实际上,当页面首次加载并且第一个选项卡加载页面时非常快.当我单击另一个选项卡时(它通过异步进程加载子面板数据,通过调用隐藏按钮服务器端事件来加载数据).所以这绝对不是真正的ajax,但嘿,它是我们拥有的.所以基本上服务器端事件只是将一些数据绑定到该选项卡上的网格.获取数据的性能绝对正常 - 这不是我的问题.

我现在的问题是,当我向上和向下滚动页面时,性能开始下降.一旦我点击另一个选项卡或另外2-3个不同的选项卡获取数据的性能仍然很棒..但在我获得数据后我滚动页面它的可怕性.滚动条有时会​​跳转,因为它无法跟上我想要浏览页面的速度.

除了完全转储更新面板之外,我不知道还有什么办法可以加速这个页面,但是有太多的工作和时间来做这件事.到目前为止,我尝试了以下内容:

  • 消除了许多不需要的更新面板
  • 将更新模式从更改alwaysconditional
  • 变成childrenastriggersfalse
  • 在asp.net/js端修复了任何bug /优化

我还能做些什么来解决这个问题或者还有什么可能导致延迟缓慢?如上所述,获取数据的速度非常快,当我上下移动(滚动)页面时,这是非常不稳定的. 我按照msdn的建议更新面板如何刷新.

编辑更新

我仍然在努力寻找更好的方法.我试过用这个:

http://aspadvice.com/blogs/robertb/archive/2005/11/16/13835.aspx

这允许我处理服务器端的视图状态.效果是html标记已经摆脱了所有的视图状态信息,然而,我仍然有的问题还没有解决的事实是,当我继续通过页面上的触发事件做异步回发时,我的页面减慢了.我的意思是减速是因为我向上/向下滚动页面表现非常糟糕.当我滚动时,滚动条基本上可以跟上我.因此,即使在客户端页面上摆脱生成的视图状态信息,我仍然遇到滚动条非常慢的问题.这又发生在页面上的事件,例如过滤器/点击事件或网格上的排序或页面索引更改(基本上任何导致异步回发的事件).

如果有人有其他想法,请随意加入.

asp.net jquery updatepanel

20
推荐指数
1
解决办法
671
查看次数

如何判断UpdatePanel回发中是否正在运行某个方法?

如何判断方法是否在AJAX回发的上下文中运行(即作为UpdatePanel(异步)回发的结果)?

根据egoldin Page.IsAsync是一个非常常见的混淆,与AJAX完全无关.

正确的方法是使用ScriptManager.GetCurrent(页面).IsInAsyncPostBack.

asp.net updatepanel asp.net-ajax scriptmanager

19
推荐指数
1
解决办法
3281
查看次数

UpdatePanel内的FileUpload控件没有刷新整个页面?

根据Microsoft的说法,FileUpload控件与AJAX UpdatePanel不兼容.

我知道可以将PostBackTrigger添加到表单的提交按钮,如下所示:

<Triggers>
  <asp:PostBackTrigger ControlID="Button1" />
</Triggers>
Run Code Online (Sandbox Code Playgroud)

问题在于,这会强制表单执行完整的回发,从而避免了首先使用UpdatePanel的整个过程.是否有解决此问题的方法不会导致整个页面刷新?

.net asp.net updatepanel file-upload asp.net-ajax

18
推荐指数
1
解决办法
4万
查看次数

在更新面板内自动将文件上载到服务器第一次不起作用

要求

我正在尝试上传文件,只要用户选择它.我必须满足以下要求:

  1. 该按钮看起来像应用程序中的其他按钮.
  2. 用户选择文件后立即上传文件.
  3. 我需要它在UpdatePanel中,因为我必须对页面进行条件更新.我CAN做的文件中选择(又名完全回发onchange)事件.

目前的代码

以下是我的视图文件的外观:

<asp:UpdatePanel ID="upData" UpdateMode="Conditional" runat="server">
    <ContentTemplate>

    <div style="width: auto; float: right;">

    <asp:Button ID="btnFileImportSkin" CssClass="ButtonSkin AddButton" Text="Import" Style="position: absolute; z-index: 2;" runat="server" OnClientClick="Javascript:onImport(); return false;" />
    <asp:FileUpload ID="fileImport" Visible="false" Style="position:relative; opacity:0;" runat="server" onchange="Javascript:onFileSelected();"  /> 
           <%-- onchange="Javascript:this.form.submit();" /> --%>
           <%-- <asp:Button ID="btnUpload" runat="server" OnClientClick="Javascript:alert('Uploading...'); __doPostBack('<%= btnUpload.ID %>', ''); return false;" /> --%>
    <asp:Button ID="btnUpload" OnClick="btnUpload_Click" runat="server" />
    </div>

    </ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="btnUpload" />
    </Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

相关的Javascript:

<script type="text/javascript">
    function onImport() {
        var …
Run Code Online (Sandbox Code Playgroud)

asp.net updatepanel webforms file-upload

18
推荐指数
1
解决办法
1009
查看次数