سلام من چند تا تکست و یک فایل آپلود و یک دکمه ثبت اطلاعات در دیتابیس دارم که داخل یک آپدیت پنل هستند و تریگر هم برای دکمه ثبت اطلاعات گذاشتم ولی وقتی دکمه ثبت را میزنم هیچ مقداری در فایل آپلود قرار نمیگیره که من در دیتابیس ذخیره کنم.
چگونه این مشکل را حل کنم؟
با تریگر زیر کارم حل شد
<asp:PostBackTrigger ControlID="btnRunEghdam" />
مشکل دیگه : بخاطر postback ای که روی میده من یک آپدیت پنل دیگه داشتم که از داخل آن یک پیامی را بعد از ثبت به کاربر نشون میاد بخاصر این تریگر دیگه اون پیام نشون نمیده چیکار باید انجام بدم تا این پیام بعد از ثبت اطلاعات به کاربر نشون داده بشه؟
این دستور من هست که بدون اعمال postback به درستی کار میکرد ولی الان انجام نمیشه (نمایش پیام)
_SaveRun(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append(@"<script type='text/javascript'>"); sb.Append("$('#form_modal').modal('show');"); sb.Append(@"</script>"); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "myModalScript", sb.ToString(), false);
سلام
برای آپلود عکس یا فایل میتونید از این روش استفاده کنید
یک fileupload یا input file و یک Button و دوتا تگ p قرار بدید
<p id="Alert" runat="server"></p> <asp:FileUpload ID="Upload" runat="server" /> <asp:Button ID="OK" runat="server" Text="آپلود" CssClass="OK" OnClick="OK_Click" /> <p id="Alert2" class="Alert2" runat="server"></p>
کدنویسی هم به این صورت هست
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Controls_UploadCenter : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { Alert.InnerText = "لطفا عکس یا فایل مورد نظر خود را از سیستم انتخاب کنید."; } protected void Button1_Click(object sender, EventArgs e) { if (UploadFile.PostedFile.ContentLength > 0) { string virpath=string.Format("Upload/{0}",UploadFile.PostedFile.FileName); string Address = string.Format(Server.MapPath("~/Upload/{0}"), UploadFile.PostedFile.FileName); UploadFile.PostedFile.SaveAs(Address); string msg = string.Format("<p class='green'> آپلود با موفقیت انجام شد</p><p> آدرس :{0} </p>", virpath); Alert.InnerText = "آپلود با موفقیت انجام شد"; Alert2.InnerHtml = msg; } } }
همونطور که میبینید تگ p که آی دی Alert رو دادیم برای نمایش پیغام به کاربر هست و تگ p که آی دی Alert2 رو دادیم برای نمایش آدرس آپلود به کاربر هست که البته میتونید از textbox هم استفاده کنید و برای نمایش آدرس آپلود هم در کدنویسی از string virpath استفاده کردیم که در نهایت Alert2.InnerHtml = msg; رو برای نمایش گذاشتیم
کد ها رو داخل if گذاشتیم و UploadFile.PostedFile.ContentLength > 0 نوشتیم بخاطر اینکه فقط در صورتی که یک فایل انتخاب شده بود آپلود کنه
در string address هم آدرس فایل رو میگیریم که ما اینجا فایل رو در پوشه Upload ریختیم
فقط توجه کنید در این روش آپلود نمیشه از Ajax استفاده کرد
موفق باشید
تشکر مهندس - میخوام داخل آپدیت چنل باشه و این روش کار نمیکنه چون پست بک نمیشه و در پست دوم توضیح دادم اگر پست بک بدم دیگه الرتم که داخل اپدیت پنل بعدی هست کار نمیکنه این موضوع را چیکار کنم؟
بله عرض کردم در این روش نمیشه از ajax استفاده کرد
برای آپلود فایل با ajax این مقاله ها رو مطالعه کنید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)