Tag: updatepanel

Updatepanel提供完整的回发而不是asyncpostback

我遇到了一个非常着名的问题:我的updatepanel触发了一个完整的回发而不是异步回发。 正常的解决方案是给你动态添加的所有控件一个ID,我已经完成了,但我仍然得到一个完整的回发而不是我的异步回发… 这是代码: HTML: … Listview stuff … 有趣的部分是后面的C#代码(方法PlayerItems_ItemDataBound),如下所示: ImageButton imgBtn = new ImageButton(); imgBtn.ID = “itemBtn”; imgBtn.Width = Unit.Pixel(30); imgBtn.ImageUrl = “~/Images/Game/Items/” + myItem.ItemImageUrl; ContextMenu menu = new ContextMenu(); menu.BoundControls.Add(imgBtn); menu.ItemCommand += new CommandEventHandler(menu_ItemCommand); menu.AutoHide = true; menu.RolloverColor = Color.Gray; menu.ID = “MenuMenu”; Panel panel = (Panel)(e.Item.FindControl(“ItemPanel”)); panel.Controls.Add(imgBtn); panel.Controls.Add(menu); AsyncPostBackTrigger trig = new AsyncPostBackTrigger(); […]

动态加载的Web用户控件隐藏在回发上

我有一个Web自定义控件 并在Default.aspx页面上 并在Default.aspx.cs上 protected void btnPost_Click(object sender, EventArgs e) { WebUserControl1 uc = (WebUserControl1)Page.LoadControl(“~/WebUserControl1.ascx”); PlaceHolder.Controls.Add(uc); } 当我们从下拉列表中选择任何项目时,它会回发并且控件会从页面中隐藏 所以请帮助我们如何防止隐藏 谢谢

无法在UpdatePanel中找到具有ID的控件

我有一个更新面板,其条件和ChildrenAsTriggers的UpdateMode设置为false。 我只想要几个控件来导致异步回发: // … // … 我尝试加载此页面时收到以下错误: A control with ID ‘btnAddSomething’ could not be found for the trigger in UpdatePanel ‘updPnlMain’. 由于我的btnAddSomething控件位于转发器中,并且可能不会立即存在,因此它的行为就像它不存在一样。 我怎么能绕过这个?

updatepanel与页面方法

我一直在使用update panels ,当我想要更新我的页面的特定部分但最近我遇到性能问题(我的意思是它渲染预期的控件很慢,有时它不起作用,需要多次点击工作! 所以我的问题是: 页面方法是否可以被视为更新面板的有效替代方案并执行ajax魔术? 还有什么其他选择? 请尽可能一个简单的例子来说明如何使用页面方法替换更新面板?

FileUpload和UpdatePanel:ScriptManager.RegisterPostBackControl第二次工作

我正在使用C#和Visual Studio 2008 SP1开发ASP.NET应用程序。 我正在使用WebForms。 我有一个带有两个UpdatePanel的ASPX页面,一个在左边,它包含一个TreeView,另一个在右边,我动态加载用户控件。 我在右侧面板上使用的一个用户控件具有FileUpload控件和用于将该文件保存在服务器上的按钮。 保存控件的ascx代码是: 我做了一个完整的回发,将文件上传到服务器并将其保存到数据库。 但我总是在FileUpload.HasFile上得到False。 我的问题是正确的UpdatePanel。 我需要它动态加载用户控件。 此面板有三个UpdatePanel来加载我使用的三个用户控件。 也许我可以使用异步文件上传器或删除正确的更新面板并执行完整回发以动态加载控件。 任何建议? 更新: RegisterPostBackControl 工作 ……我第二次点击保存按钮。 第一次FileUpload.HasFile为FALSE,第二次为TRUE。 第二次更新 在第一次单击时,我还检查ScriptManager.IsInAsyncPostBack并且为FALSE。 我不明白任何事! 为什么? 第一次加载用户控件的代码,以及每次回发的代码是: DynamicControls.CreateDestination ud = this.LoadControl(ucUrl) as DynamicControls.CreateDestination; if (ud != null) { Button save = ud.FindControl(“Save”) as Button; if (save != null) ScriptManager1.RegisterPostBackControl(save); PanelDestination.Controls.Add(ud); } 谢谢。

禁用按钮不在UpdatePanel中提交回发

我在ASP.NET页面上的UpdatePanel有一个按钮。 这是我的UpdatePanel 当我尝试禁用OnClientClick按钮时,它不执行PostBack 这是我的PDFClick()函数的示例 // Works (does post back and code behind executes)) function PDFClick() { document.getElementById(“btnPrint”).value = “Working…”; return true; }; // Doesn’t work (JS executes, but code behind didn’t execute) function PDFClick() { document.getElementById(“btnPrint”).value = “Working…”; document.getElementById(“btnPrint”).disabled = true; return true; }; 这是我背后的代码。 我需要在背面做一些东西,并在完成后打开新窗口: protected void btnPrint_Click(object sender, EventArgs e) { Response.Write(“”); Response.Write(String.Format(“window.open(‘{0}’,’_blank’)”, […]

如何防止selectindexchange上的整页回发以获取下拉列表

<asp:ImageButton ImageUrl="~/cies.png" runat="server" ID="btnShowDepend" OnCommand="btnShowDepend_Command" CommandName="TaskDepend" CommandArgument='’ ToolTip=”Click to view Dependencies” /> <%– –%> 每当执行ddlTaskName_onSelectIndexChanged函数时,都会有一个完整的页面回发,而不仅仅是更新UpdatePanel ddlTaskName_onSelectIndexChanged函数: protected void ddlTaskName_onSelectIndexChanged(object sender, EventArgs e) { PullData(ViewState[“sortExp”].ToString(), ViewState[“sortOrder”].ToString(), false); //calls a function to update the GridView } 使用上面的代码,只要在ddlTaskName更改索引,页面就会执行完全回发而不是仅部分(仅更新GridView) 我可以添加/修改哪些代码以确保不执行完整的回发,并且仅在更改索引时更新GridView。 想…我需要在两个单独的UpdatePanel中添加它们吗? 如果我取消注释triggers , A control with ID ‘ddlTaskName’ could not be found for the trigger in UpdatePanel ‘TasksUpdatePanel’.出现以下错误: A […]

ASP.NET DropDownList AutoPostback不工作 – 我缺少什么?

当我更改所选项目时,我试图通过UpdatePanel将DropDownList获取到AutoPostBack。 我有点激动,为什么这不起作用。 有没有人有任何快速的想法? ASPX页面: item 1 item 2 代码隐藏(我在字符串赋值上设置断点以捕获回发): protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { string s = “”; } 编辑: 好的,我现在就开始工作了。 很奇怪。 所需要的只是重新启动Visual Studio。 作为一名开发人员,这种事情让我感到害怕;)我认为我以前见过类似的东西,VS在运行的程序集中“不同步”。 仅供参考我正在运行VS 2008 Web Developer Express。 感谢那些回答的人。

嵌套在UpdatePanel中时FileUpload不起作用? C#

按钮1位于更新面板之外,当用户在上传框中添加文件时运行的javascript是: function clickTheButton() { document.getElementById(”).click(); } 问题很简单。 FileUpload1.HasFile == false。 我不知道为什么会这样,但当我把它放在更新面板中时它就不再起作用了。 我已经看到了其他一些线索。 但他们都没有回答为什么会这样,他们只是指出你可以下载的东西。 编辑:我真正想要这样做的主要原因是,我可以获得一个..上传文件..标签在客户端上传到服务器时弹出,一旦完成,就显示在数据列表中。 我不能让UpdateProgress工作。

在ASP.NET中重定向之前的Javascript警报

我在更新面板中更新时使用以下代码显示消息 string jv = “alert(‘Time OutAlert’);”; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), “msg”, jv, true); 它工作正常。 但是当我在它之后使用Redirect时它会加载页面而不显示消息。 我希望用户看到该消息,点击“确定”后它应该重定向。 string jv = “alert(‘Time OutAlert’);”; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), “msg”, jv, true); Response.Redirect(“~/Nextpage.aspx”);