PDA

View Full Version : قابلیت دانلود از گریدویو



بیتافرهی
جمعه 09 مرداد 1388, 12:12 عصر
سلام
من میخوام یکی از ستون های گریدویو فرم ،به صورتی باشه که وقتی کاربر روی اون کلیک کرد ،بتونه اون فایلو دانلود کنه ،مثل دانلود مقالهو..
می دونم که باید اون ستون هایپرلینک باشه ولی مشکل اینجاست که چطوری کد دانلود را باید بنویسم.که باکلیک روی اون دیالوگ باکس save باز بشه.
علاوه بر این تو پایگاه داده ،باید چه تغییراتی بدم،اون فایل که قراره دانلود بشه ،کجا باید باشه؟آدرسش یا کل محتویات خودفایل.
لطفا راهنمایی کنید.

ali.akhbary
جمعه 09 مرداد 1388, 12:50 عصر
اگه همه فایل ها رو توی یه پوشه ذخیره می کنی، موقع ذخیره اطلاعات مربوط به اون در دیتا بیس بهتره که فقط نام فایل رو به عنوان link و توضیحات فایل رو به عنوان title ذخیره کنی. و موقع فراخوانی و نوشتن هایپرلینک از اسم اون فولدر استفاده کنی.

<asp:HyperLinkField HeaderText="دانلود" DataNavigateUrlFields="foldername/<%# Eval("link") %>" DataTextFormatString="<%# Eval("title")%>" />

بیتافرهی
جمعه 09 مرداد 1388, 18:02 عصر
من کد شمارو امتحان کردم ،ولی خطا میده

Error 1 : C:\Inetpub\mansure\Default.aspx: ASP.NET runtime error: Code blocks are not supported in this context.
و همچنین


Error 2 Literal content ('<asp:HyperLinkField DataNavigateUrlFields="z/') is not allowed within a 'System.Web.UI.WebControls.DataControlFieldCollect ion'.

من یه جدول در sql با دوفیلد به نام های link , title درست کردم و فایلهایم را هم در فایلی با نام z گذاشتمو کد زیر را نوشتم:

<asp:HyperLinkField DataNavigateUrlFields="z/<%# Eval("link") %>" DataNavigateUrlFormatString="<%# Eval("title")%>" HeaderText="دانلود" /

ali.akhbary
شنبه 10 مرداد 1388, 11:11 صبح
this is a sample.

بیتافرهی
شنبه 10 مرداد 1388, 13:18 عصر
ممنون از توجهتون.
ولی در مثالی که شما فرستادید،وقتی روی لینک کلیک میکنم،محتویات اون فایل را در صفحه نشان میدهد ،در صورتیکه منظور من این نبود.
من می خواستم مثل همین فایلی که شما برای من فرستادید ،و هر کس که روی آن کلیک کند ،یک دیالوگ باکس برایش باز کند و کاربر امکان save اون فایل را در کامپیوترش داشته باشد.
انجام همچین کاری با asp.net امکان پذیر است؟

ali.akhbary
شنبه 10 مرداد 1388, 15:26 عصر
اگه شما یه فایل pdf یا text رو برای دانلود بذارید توی صفحه وب باز می شوند. ولی اگه اونا رو توی یه فایل zipیا rar بذارید دانلود می شوند.
همیشه همینجوریه و ربطی به asp.net نداره.:لبخندساده: :لبخندساده:

Coward
شنبه 10 مرداد 1388, 19:10 عصر
به اینجا هم یک سری بزن
http://barnamenevis.org/forum/showthread.php?t=168637

m1975b
شنبه 10 مرداد 1388, 23:25 عصر
با سلام
در Gridview
TemplateEdit کنید و لینک مربوطه را در درون آن ست کرده و مقدار اونو از دیتابیس بگیرید. یا دستی ست کنید.
در این صورت میتونید Lable و TextBoxمربوطه را حذف کرده و بجاشون hyperlink یا Linkbtn جایگزین کنید.

بیتافرهی
سه شنبه 13 مرداد 1388, 12:51 عصر
اگه بخوام طوری آدرس دهی کنم که فایل متنی را در صفحه ی asp جدید باز کند طوری که در این صفحه قالب سایتم نیز وجود داشته باشد ، چطوری باید آدرس بدم؟چونکه اگر فایلم را rar نکنم ،فقط محتویات فایل متنی را نشان می دهد.
من اینجوری امتحانش کردم ولی خطا داد:

DataNavigateUrlFormatString="Default3.aspx\z\{0}

z ، نام فایلی است که فایل های متنی را آنجا گذاشته ام.