這就是我想要的.. 我通過FileUpload Control上傳圖片..但是當我觸發updatepanel Fileupload控件顯示它是空的..我不知道「知道爲什麼..Asp.NET UpdatePanel沒有按預期工作
,這裏是什麼,我需要..
我需要更新我的UpdatePanel只有當我點擊上傳按鈕和其他然後,我不希望更新其內容。在我的編碼中我需要做什麼變化
下面是ASPX代碼..
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"/>
<div>
<fieldset style="width:50%; margin-left:300px">
<legend>Upload Files</legend>
<asp:FileUpload runat="server" ID="UploadImages" style="background-color:white; position:relative; font-family:'Palatino Linotype'; font-size:medium" Width="500px" AllowMultiple="true"/>
<asp:Button runat="server" ID="uploadedFile" style="position:relative; font-family:'Palatino Linotype'; font-size:medium; width: 112px; height: 29px;" Text="Upload" OnClick="uploadFile_Click" />
</fieldset>
<div id="back" runat="server" class="transbox" style="width:100%;height:100%;left:0px;top:0px;position:absolute" Visible="false">
<asp:UpdatePanel ID="updtpanel" runat="server" UpdateMode="Conditional" style="width:100%;height:100%;left:0px;top:0px;position:absolute">
<ContentTemplate>
<asp:Button ID="btnsave" runat="server" UseSubmitBehavior="true" Text="Find Images" OnClick="btnsave_Click" Font-Bold="true" style="position:absolute" BackColor="Yellow"></asp:Button>--%>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="uploadedFile" EventName="Click"/>
</Triggers>
</asp:UpdatePanel>
</div>
</div>
</form>
這裏是文件上傳的的.cs代碼..
protected void uploadFile_Click(object sender, EventArgs e)
{
if (UploadImages.HasFiles)
{
string fileExt = Path.GetExtension(UploadImages.FileName).ToLower();
if (fileExt == ".jpeg" || fileExt == ".png" || fileExt == ".jpg" || fileExt == ".bmp")
{
foreach (HttpPostedFile uploadedFile in UploadImages.PostedFiles)
{
count1 += 1;
}
foreach(HttpPostedFile uploadedFile in UploadImages.PostedFiles)
{
count += 1;
filepath = Server.MapPath("~/Images/" + uploadedFile.FileName);
uploadedFile.SaveAs(filepath);
newpath = "../Images/" + uploadedFile.FileName;
try
{
createImgPanel();
Image nimg = Page.FindControl("img" + count) as Image;
nimg.ImageUrl = newpath.ToString();
Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('Files Uploaded!!');", true);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
}
else
{
Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('Please Select only Image Files!!');", true);
}
}
else
{
Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('Please Select a File First!!');", true);
}
}
如果我評論的觸發UpdatePanel的uploadFile.HasImages
將工作..但如果我取消它它會直接降落在請選擇一個文件第一錯誤味精..在代碼中我犯什麼錯誤..
@伊卡洛斯..但據我所知,觸發器只允許更新我的目標更新面板的權利?如果我想定位我的更新面板只更新一次我需要使用什麼方法.. –
@Kaushik UpdatePanels將**只更新它們的內容**,但執行完整的回發*。如果你在'Page_Load'上放置一個斷點並且看看會發生什麼,你可以很容易地看到這一點。確保你添加一個手錶到'Request.Files' – Icarus
@伊卡洛斯..謝謝你..這真的啓發我..好將嘗試解決我的問題根據你提供的知識...謝謝..: ) –