вот что у меня есть. Я загружаю изображения через FileUpload Control .. Но когда я даю триггер для обновления панели управления 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 код для FileUpload ..
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
будет работать .. Но если я раскоментировать Он будет напрямую приземлиться на Пожалуйста, выберите файл первый Сообще ошибки .. Что ошибку я совершающую в коде ..
@Icarus .. Но, по моим сведениям, триггеры разрешают только исправления на моей целевой панели обновления? если я хочу настроить таргетинг на мою обновленную панель, которая будет обновляться только один раз, какой метод мне нужно использовать. –
@ Kaushik UpdatePanels будет ** обновлять свой контент **, но выполняется * полный postback *. Вы можете легко это увидеть, если поставить точку останова на 'Page_Load' и посмотреть, что произойдет. Убедитесь, что вы добавили часы в 'Request.Files' – Icarus
@Icarus .. Спасибо за это .. Это действительно просвело меня .. Хорошо постарается решить мою проблему на основе знаний, предоставленных u ... Спасибо ..:) –