use*_*789 12 javascript asp.net iframe jquery
我正在使用iframe上传图片.所以我有两个文件 - iframe文件和显示图像的文件.单击显示iframe的链接时,将运行以下代码:
function ShowUploadImageOut(RecordID) {
$('#<%=hfPieceID.ClientID %>').val(RecordID);
$("#dvAddImageOutturn").html(
'<iframe id="iframeUpload" src="utilities/UploadPOD.aspx?id=uploadOutturn"></iframe>'
);
}
Run Code Online (Sandbox Code Playgroud)
在iframe上是一个上传按钮,用于将图像保存到计算机上的文件夹中并将图像文件名设置为 FileNameHidden
protected void btnUpload_Click(object sender, EventArgs e)
{
if (fuUpload.HasFile)
{
if (Request.QueryString["id"] == "uploadOutturn")
{
String Path = ConfigurationManager.AppSettings["PieceOutturnFolder"].ToString()
+ Company.Current.CompCode;
string FileName = fuUpload.FileName;
if (File.Exists(Path + "/" + FileName))
{
File.Delete(Path + "/" + FileName);
}
fuUpload.SaveAs(Path + "/" + FileName);
filename = FileName;
imgTemp.ImageUrl = "/thumbnail.ashx?ImgFilePath=" + Path.Replace("/", "\\")
+ "\\" + FileName + @"&width=200&height=400";
FileNameHidden.Value = FileName;
}
}
}
Run Code Online (Sandbox Code Playgroud)
FileNameHidden将属性clientidmode设置为"static":
<input type="hidden" id="FileNameHidden" runat="server" clientidmode="Static" />
Run Code Online (Sandbox Code Playgroud)
返回显示图像的页面上有一个保存按钮.此按钮从中获取值FileNameHidden并将其设置为隐藏字段.这个新的隐藏字段用于将文件名保存到数据库:
<asp:HiddenField ID="hfUploadedPieceHubImageFile" runat="server" />
<div id="dvAddEditImageOutturn" class="dvdraggable">
<div id="dvAddImageOutturn"></div>
<asp:LinkButton ID="btnPieceHubUpdateImage"
onclick="btnUpdatePieceImage_Click"
OnClientClick="CloseUploadWindow();return GetPieceOutturnFilename();"
CssClass="btnSaveSmall"
runat="server"
></asp:LinkButton>
</div>
function GetPieceOutturnFilename() {
if ($('#iframeUpload').contents().find('#FileNameHidden').length > 0) {
$("#<%= hfUploadedPieceHubImageFile.ClientID %>").val(
$('#iframeUpload').contents().find('#FileNameHidden').val()
);
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
问题在于GetPieceOutturnfile功能.$('#iframeUpload').contents().find('#FileNameHidden').length始终为零.它应该是FileNameHidden从iframe中找到的.
通过我可以看到的代码FileNameHidden肯定会设置图像的名称:
<input name="FileNameHidden" type="hidden" id="FileNameHidden" value="test.jpg">
Run Code Online (Sandbox Code Playgroud)
所以我不明白为什么它说长度为零
问题出在btnPieceHubUpdateImage以下方面onClientClick:
OnClientClick="CloseUploadWindow();
return GetPieceOutturnFilename();"
Run Code Online (Sandbox Code Playgroud)
它先关闭窗口,然后尝试FileNameHidden从iframe中保存.交换这些以便它GetPieceOutturnFileName首先解决问题.
| 归档时间: |
|
| 查看次数: |
230 次 |
| 最近记录: |