- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 AJAX UpdateProgress 在创建 zip 文件时显示加载图像,但出现以下错误:
Microsoft JScript 运行时错误:Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器收到的消息。此错误的常见原因是通过调用 Response.Write()、响应过滤器、HttpModules 或启用服务器跟踪来修改响应。详细信息:在“PK”附近解析错误。
下面是我的 .aspx 页面的代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
#progressBackgroundFilter
{
position: fixed;
top: 0px;
bottom: 0px;
left: 0px;
right: 0px;
overflow: hidden;
padding: 0;
margin: 0;
background-color: #000;
filter: alpha(opacity=50);
opacity: 0.5;
z-index: 1000;
}
#processMessage
{
position: fixed;
top: 30%;
left: 43%;
padding: 10px;
width: 14%;
z-index: 1001;
background-color: #fff;
border: solid 1px #000;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:CheckBox ID="chb_pass" runat="server" Text="Do you want the zip file to have a password?"
AutoPostBack="True" />
<br />
<asp:TextBox ID="txt_password" runat="server" MaxLength="20" Visible="false" Style="margin-top: 6px"
Width="152px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txt_password"
ErrorMessage="* Need Password!"></asp:RequiredFieldValidator>
<br />
<asp:Button ID="btnDownloadPhotos" runat="server" Text="Download Album Photos" Height="27px"
Style="margin-top: 3px" Width="284px" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnDownloadPhotos" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
<div id="progressBackgroundFilter">
</div>
<div id="processMessage">
Preparing download...<br />
<br />
<img alt="Loading" src="img/ajax-loader.gif" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</div>
</form>
</body>
</html>
Imports System.IO
Imports System.Text
Imports Ionic.Zip
Partial Class download
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDownloadPhotos.Click
Dim PhotoFileList As New List(Of String)
Dim uploadDirectory As String = Server.MapPath("") & "\uploads\"
Dim albumName As String = "cricket"
PhotoFileList.Add(uploadDirectory & "CIMG1455.JPG")
PhotoFileList.Add(uploadDirectory & "CIMG1453.JPG")
PhotoFileList.Add(uploadDirectory & "CIMG1451.JPG")
PhotoFileList.Add(uploadDirectory & "CIMG1450.JPG")
createZip(PhotoFileList, albumName)
End Sub
Private Sub createZip(ByVal listOfFilename As List(Of String), ByVal albumName As String)
' Tell the browser we're sending a ZIP file!
Dim downloadFileName As String = String.Format(albumName & "-{0}.zip", DateTime.Now.ToString("yyyy-MM-dd-HH_mm_ss"))
Response.ContentType = "application/zip"
Response.AddHeader("Content-Disposition", "filename=" & downloadFileName)
' Zip the contents of the selected files
Using zip As New ZipFile()
'Add the password protection, if specified
If chb_pass.Checked = True Then
zip.Password = txt_password.Text
'This encryption is weak! Please see http://cheeso.members.winisp.net/DotNetZipHelp/html/24077057-63cb-ac7e-6be5-697fe9ce37d6.htm for more details
zip.Encryption = EncryptionAlgorithm.PkzipWeak
End If
' Construct the contents of the README.txt file that will be included in this ZIP
Dim readMeMessage As String = String.Format("This ZIP file {0} contains the following photos within the " & albumName & " album:{1}{1}", downloadFileName, Environment.NewLine)
' Add the checked files to the ZIP
For Each li As String In listOfFilename.ToArray()
' Record the file that was included in readMeMessage
readMeMessage &= String.Concat(vbTab, "* ", li.ToString, Environment.NewLine)
' Now add the file to the ZIP (use a value of "" as the second parameter to put the files in the "root" folder)
zip.AddFile(li.ToString, "Your Files")
Next
' Add the README.txt file to the ZIP
zip.AddEntry("README.txt", readMeMessage, Encoding.ASCII)
' Send the contents of the ZIP back to the output stream
zip.Save(Response.OutputStream)
End Using
End Sub
Protected Sub chb_pass_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles chb_pass.CheckedChanged
If chb_pass.Checked = True Then
txt_password.Visible = True
ElseIf chb_pass.Checked = False Then
txt_password.Visible = False
End If
End Sub
End Class
最佳答案
过去我在尝试使用更新面板内的按钮流式传输 excel 文档时遇到了类似的问题。这是我的解决方案,希望它有所帮助。
VB.NET:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim sm = ScriptManager.GetCurrent(Me.Page)
sm.RegisterPostBackControl(Me.YOUR_BUTTON)
AddPostBackTrigger(Me.YOUR_BUTTON.UniqueID.ToString())
End Sub
Public Sub AddPostBackTrigger(ByVal ControlId As String)
Dim existingTrigger = FindPostBackTrigger(ControlId)
If existingTrigger Is Nothing Then
Dim trigger As New PostBackTrigger()
trigger.ControlID = ControlId
Me.YOUR_UPDATE_PANEL_GOES_HERE.Triggers.Add(trigger)
End If
End Sub
Public Sub RemovePostBackTrigger(ByVal ControlId As String)
Dim existingTrigger = FindPostBackTrigger(ControlId)
If existingTrigger IsNot Nothing Then
Me.YOUR_UPDATE_PANEL_GOES_HERE.Triggers.Remove(existingTrigger)
End If
End Sub
Private Function FindPostBackTrigger(ByVal ControlId As String) As PostBackTrigger
For Each Trigger In Me.YOUR_UPDATE_PANEL_GOES_HERE.Triggers
If Trigger.GetType().Name = "PostBackTrigger" Then
Dim pt = CType(Trigger, PostBackTrigger)
If pt.ControlID = ControlId Then
Return pt
End If
End If
Next
Return Nothing
End Function
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager sm = ScriptManager.GetCurrent(Page);
if (sm != null) sm.RegisterPostBackControl(YOUR_CONTROL);
AddPostBackTrigger(YOUR_CONTROL.UniqueID);
}
private void AddPostBackTrigger(string controlId)
{
PostBackTrigger existingTrigger = FindPostBackTrigger(controlId);
if (existingTrigger != null)
{
var trigger = new PostBackTrigger {ControlID = controlId};
YOUR_UPDATE_PANEL.Triggers.Add(trigger);
}
}
private PostBackTrigger FindPostBackTrigger(string controlId)
{
return
YOUR_UPDATE_PANEL
.Triggers.OfType<PostBackTrigger>()
.FirstOrDefault(pt => pt.ControlID == controlId);
}
关于asp.net - AJAX 更新面板给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4950451/
我试图对 ASP.Net MVC 有一个高层次的理解,我开始意识到它看起来很像原始的 ASP 脚本。过去,我们将“模型”/业务逻辑代码组织到 VBScript 类或 VB COM 组件中。 当然,现在
我已经搜索了一段时间,但似乎找不到答案。 我想在我的旋转木马中显示一个计数器,左边是当前项目(工作),左边是项目总数。 我的代码:
. 最佳答案 Scott Gu 称这些为代码块。这就是我的看法。 http://weblogs.asp.net/scottgu/archive/2010/04/06/new-lt-gt-syntax
我有一个使用 Visual Studio 2010/.net 4/VB 制作的网站。 我真的很喜欢我发现的 FAQ 系统的布局,因为它很简单,但它是经典的 asp。所以,显然,我不能包括我的母版页布局
好吧,对于你们许多人来说,这个问题可能有一个非常明显的答案,但它让我难住了。 我有一个 asp.net Web 表单,上面有两个控件(嗯,不止这两个,但我们将重点关注这些) - 第一个是 asp:dr
当我将 ASP.NET 复选框控件设置为 asp.net 更新面板的异步回发触发器时,EventName 属性是什么? 最佳答案 我相信它是 CheckedChanged。 关于asp.net - a
我有一个用经典 asp 编写的(巨大的)网站。现在我必须切换到 vb.net (razor)。有没有办法将这两个结合起来直到切换完成? 有没有办法让应用程序与经典的 asp 和 vb.net 一起工作
I am creating a products page, where the user selects an option in a radiobuttonlist for example, an
我最近将一个经典的 ASP 应用程序转换为 ASP.NET 3.5,但我觉得我的经典 ASP 版本要快一些(我不知道可能买家会后悔)。 所以你们能帮我解决这个问题吗,让我知道哪个更快,asp、asp.
从本周开始,我被要求开始学习如何使用 ASP 开发网站。我通过 XNA 对 C# 有一定的经验,所以这部分对我来说并不是什么麻烦。 我一直在关注Music Store Tutorial这需要我设置一个
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
我想将一些表单变量发布到经典 ASP 页面中。我不想改变经典的 ASP 页面,因为需要完成大量的工作,以及消耗它们的页面数量。 经典的 ASP 页面需要将表单变量 Username 和 Userpas
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
在某种程度上,这可能是一个异端问题。我们有一个大型站点,其中许多页面仍在ASP中。通常,并没有真正动态的,而是包括(通过SSI或Server.Execute)定期重新生成的HTML块。看起来好像是一个
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我有一个遗留的 ASP 应用程序——在不久的某个时候——需要迁移到 ASP.Net 2.0(以与也在 2.0 中的其他应用程序兼容)。 对于这类事情是否有最佳实践,即作为第一步将当前 html、vbs
我目前在一家公司工作,该公司使用 ASP.NET Webforms 和旧 ASP 页面的组合进行 Web 开发。这对于他们当前的项目来说效果很好,但我想说服/建议他们切换到 ASP.NET MVC,因
我有一个经典的 asp 应用程序。我想将该页面的竞赛表格发布到 Asp.Net 表格。原因是我想在进入数据库之前使用我在 Asp.Net 页面中内置的大量逻辑进行验证,而我对 asp 不太了解。更不用
我知道在 ASP.NET MVC 中,您可以拥有移动 View 并执行类似 Index.mobile.cshtml 的操作。和 _Layout.mobile.cshtml并且服务器知道将这些 View
我需要从一些服务器端 c#.net 代码中调用经典 asp 页面上的 VBscript 函数 - 有谁知道一种干净的方法来做到这一点?在 .net 中重写函数不是一种选择。 我会再解释一下这个问题..
我是一名优秀的程序员,十分优秀!