Tag: asp.net 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); } 谢谢。

如何使用Ajax.BeginForm更新div并执行javascript函数?

我通过使用类似的东西更新部分视图的div: 并且它的工作正常,返回的视图被添加到div,但是我现在需要在post成功时执行javascript,所以我想:“简单,只需将OnSuccess = “MyJsFunc()”添加到AjaxOptions ,但是这样做后,它停止了工作! 现在页面被刷新,只返回部分视图:(,我甚至试过一个简单的Alert(“Hi”) ,它也没有工作..我怎么能让这个工作? (顺便说一下,我认为这可能是一个重复的https://stackoverflow.com/questions/1994754/execute-javascript-after-loading-a-mvc-page-using-ajax-beginrouteform但这个问题被废弃了回答)

Html.BeginForm中的Ajax.BeginForm

我有一个用于编辑东西的视图,比如Orders。 订单包含可以任意添加的订单项。 所以主视图和嵌套的偏见视图。 每个部分应该有一个ajax表单,用于调整每个行项目的数量或其他。 从而: Html.BeginForm() {%> Ship to: blah blah blah <% Ajax.BeginForm("EditLineItem", "Order", new { OrderLineItemID = Model.ObjectID }, itemAjaxOptions)) { Item qty blah blah blah } %> <% } 我有一个看起来像这样的控制器: [ActionName(“Edit”)] [AcceptVerbs(HttpVerbs.Post)] [ValidateAntiForgeryToken] public ActionResult Edit(int orderID) { blah, blah } [ActionName(“EditLineItem”)] [AcceptVerbs(HttpVerbs.Post)] [ValidateAntiForgeryToken] public ActionResult EditLineItem(Guid orderLineItemID) { blah, blah } […]

AJAX进度条显示页面加载的加载进度百分比

如何使用进度条显示页面的加载百分比? …(类似于他们在flash中的显示方式) 谢谢

使用ASP.NET和C#“Base-64字符串中的无效字符”

我在发布页面时遇到了这个问题。 该页面有一个由下拉列表的onchange调用的jquery ajax加载,如果我禁用onchange,post可以工作。 “状态信息对于此页面无效,可能已损坏” [FormatException: Invalid character in a Base-64 string.] System.Convert.FromBase64String(String s) +0 System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +72 System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4 System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +37 System.Web.UI.HiddenFieldPageStatePersister.Load() +113 [ViewStateException: invalid Viewstate. Client IP: 127.0.0.1 Port: User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) […]

以编程方式在UpdatePanel中添加用户控件

我在使用部分回发在更新面板中动态添加控件时遇到问题。 我已经阅读了许多关于动态控件的文章,我了解如何使用回发添加和维护它们,但大多数信息不适用,并且不适用于部分回发。 我找不到有关使用UpdatePanel添加和维护它们的任何有用信息。 如果可能的话,我想在没有创建Web服务的情况下这样做。 有没有人对某些有用的信息有任何想法或参考?

如何在计时器ASP.NET MVC上调用函数

我需要调用timer上的函数(比如onTickTack()函数)并在ASP.NET MVC项目中重新加载一些信息。 我知道有几种方法可以做到这一点,但你认为哪一种最好? 注意:该函数应该只从一个地方调用,每隔X分钟调用一次,直到应用程序启动。 编辑1:重新加载一些信息 – 例如我在缓存中有一些东西,我想在计时器上更新它 – 在某个时间每天一次。

Image.FromStream(PostedFile.InputStream)失败。 (参数无效。)(AsyncFileUpload))

我正在使用AsyncFileUpload(AJAX Toolkit)上传图像。 我有一个处理图像大小调整的按钮。 这已经好了一段时间了,但现在不行了…… protected void BtnUploadImage_Click(object sender, EventArgs e) { var imageFileNameRegEx = new Regex(@”(.*?)\.(jpg|jpeg|png|gif)$”, RegexOptions.IgnoreCase); if (!AsyncFileUpload1.HasFile || !imageFileNameRegEx.IsMatch(AsyncFileUpload1.FileName)) { AsyncFileUpload1.FailedValidation = true; ErrorLabel.Visible = true; return; } ErrorLabel.Visible = false; var file = AsyncFileUpload1.PostedFile.InputStream; var img = Image.FromStream(file, false, false); … } 另一件我觉得很奇怪的事情:如果我尝试的图像小于80kb就可以了。 我们试图重启服务器,但没有改变。 相同的代码在我的机器上运行良好。 (听说之前?? :)) 我还尝试将文件保存在服务器上,然后通过Image.FromFile()获取文件,但后来我得到“无法访问已关闭的文件”。 怎么解决这个?

UpdatePanel中ListView中的LinkBut​​ton会导致完全回发

我在UpdatePanel中的ListView中有一个LinkBut​​ton。 我想按钮(好吧,其中任何一个)导致部分回发,但它们导致整页回发。 <asp:LinkButton ID="lnkAddTarget" CssClass="lo" Text='<%# Eval("Title") + " ” + Eval(“Level”) + Eval(“SubLevel”) + “” %>’ runat=”server”> 我在stackoverflow上发现了另一篇post,建议添加: protected void lvTargets_ItemDataBound(object sender, ListViewItemEventArgs e) { var lb = e.Item.FindControl(“lnkAddTarget”) as LinkButton; tsm.RegisterAsyncPostBackControl(lb); // ToolkitScriptManager } 它没有什么区别…… 还有一些其他类似的post,但我找不到解决方案! 有任何想法吗?

将数据从ASP.NET页面传递到动态加载的ASCX用户控件

我正在用C#和Ajax开发一个ASP.NET应用程序。 我有一个页面,其中包含动态加载的用户控件。 我需要将一些数据(整数值和一些字符串)传递给动态加载的用户控件。 现在我使用Session传递这些值,但我想我可以用另一种方式; 类似于VIEWSTATE或隐藏的输入。 你有什么推荐我的? 更新: 我动态加载控件这一事实非常重要,因为每次回发都会加载控件,而且我无法在控件上存储任何值。