【发布时间】:2011-10-30 21:36:37
【问题描述】:
我有一个 .Master 页面
<asp:ScriptManager ID="ScriptManager" runat="server" />
<asp:UpdatePanel runat="server" id="UpdatePanel" updatemode="Conditional">
<ContentTemplate>
<asp:ContentPlaceHolder ID="MasterIndhold_Member" runat="server">
</asp:ContentPlaceHolder>
在 ContentPlaceHolder 中,我得到了一个带有 FileUpload 的面板。问题是 FileUpload 没有找到该文件。这里我想给Scriptmanager添加RegisterAsyncPostBackControl,但是面板在另外一个页面的时候怎么做呢?
嵌套页面代码如下所示
<asp:Content ID="Content3" ContentPlaceHolderID="MasterIndhold_Member" runat="server">
<asp:panel runat="server" ID="Panel_MyProfile_Member" Visible="false">
<asp:FileUpload ID="File1" runat="server" />
<asp:LinkButton ID="LinkUploadImageMember" runat="server" onclick="LinkUploadImageMember_Click">Upload</asp:LinkButton>
FileUpload 的 CodeBehind 看起来像这样
protected void LinkUploadImageMember_Click(object sender, EventArgs e)
{
if (File1.HasFile == true)
{
if ((File1.PostedFile.FileName.EndsWith(".jpg")) || (File1.PostedFile.FileName.EndsWith(".jpeg")) || (File1.PostedFile.FileName.EndsWith(".png")))
{
byte[] input = File1.FileBytes;
Bruger.UploadImage(input, int.Parse(Request.QueryString["ID"]));
}
}
}
请保留 C# 和 ASP.NET 的代码示例,因为我是新手 ^^
谢谢
【问题讨论】:
-
好吧,我找到了这个解决方案 ScriptManager scriptmanager = ScriptManager.GetCurrent(this.Page); scriptmanager.RegisterAsyncPostBackControl();但问题是,我不知道究竟要填写什么 RegisterAsyncPostBackControl
-
Panel 的可见标志将设置为 true,我猜? “FileUpload 找不到文件”是什么意思?您要上传的文件有多大?
-
是的,当代码到达上传部分时,面板设置为可见 = true。每当我上传文件(8,70 KB)时,File1.HasFile = false
标签: c# asp.net ajax updatepanel scriptmanager