View Full Version : سوال: مشکل در گرفتن لینک یک فایل از دیتابيس و دانلود آن
EbiPenMan
پنج شنبه 17 تیر 1389, 22:21 عصر
سلام به همگی
من یه جدول دارم که ليست کتاب ها رو داره. هر کتاب یه فيلد آدرس فایل pdf رو در خودش داره.
حالا من یا یه دیتاگرید اطلاعات و میخونم و با ساختن تمپلیت برای دیتاگریدم یه دکمه گذاشتم برای دانلود کتاب اون فیلد.
من فیلد postbackurl دکمه مو به دیتاگرید بیند کردم. و هر وقت که کلیک میکنم روش درست کار میکنه و آدرس رو از جدول میخونه و دانلود میشه ولی...
ولی مشکل اینجاست که بعد از یه بار زدن دکمه هرچی دکمه تو صفحه ام هست postback شون به آدرس فایل تغییر پیدا میکنه.
حالا من چطور تو این دکمه مو به آدرس فایلم توی جدول بیند کنم که درست بتونه فایلم و دانلود کنه.
raziee
جمعه 18 تیر 1389, 00:01 صبح
سورس کدتون رو بگذارید که ببینیم شما چی کار کردید.
EbiPenMan
جمعه 18 تیر 1389, 12:35 عصر
سورس کدتون رو بگذارید که ببینیم شما چی کار کردید.
من این عکس و از تمپلیت دیتا گریدم میزارم نمیدونم چیزی دستگیرتون میشه یا نه.
اون دکمه ای که نوشته دانلود میخوام هر وقت زده شد بره از فیلد DownloadLind همون ردیف از جدول آدرس فایل که مثلا /image/book1.pdf هست رو دانلود کنه.
حالا این آدرس فایلم و به کدوم پراپرتی دکمم بیند کنم تا دانلودش کنه.
raziee
جمعه 18 تیر 1389, 13:15 عصر
من این عکس و از تمپلیت دیتا گریدم میزارم نمیدونم چیزی دستگیرتون میشه یا نه.
اون دکمه ای که نوشته دانلود میخوام هر وقت زده شد بره از فیلد DownloadLind همون ردیف از جدول آدرس فایل که مثلا /image/book1.pdf هست رو دانلود کنه.
حالا این آدرس فایلم و به کدوم پراپرتی دکمم بیند کنم تا دانلودش کنه.
ببینید یه راه اینه که بیاید ID اون رکرود رو بدید به CommandArgument و بعد در رویداد RowCommand گرید ویو اون رو بگیرید و .... .
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="DoDownload" CommandArgument='<%# Bind("YourID") %>'>دانلود</asp:LinkButton>
اما این کار نیاز به یک PostBack شدن داره.
شما میتونید مسیر دانلود رو در یک تگ <a> بگذارید تا از پست بک اضافه جلوگیری کنید.
و یا اگه نمیخواهید مسیر واقعی فایل در سرور رو کاربر ببینه، ID رو بهش بدید و در صفحه مثلا دانلود با روش هایی که میدونید اون فایل رو در اختیار کاربر قرار بدید.
EbiPenMan
شنبه 19 تیر 1389, 02:53 صبح
مشکلم حل نشد.
پراپرتیه CommandArgument دکمه رو به آدرس فایل بیند کردم و در رویداد RowCommand دیتا گریدم چک کردم که دکمه دانلود زده شده یا نه بعد هم ....
protected void GV_BookList_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Download")
{
Response.Redirect(e.CommandArgument.ToString());
}
}
بازم بعد اولین دانلود. دکمه صفحه و میزنم میخواد فایل و دانلود کنه. چه کنم?
zahraf
جمعه 25 تیر 1389, 18:51 عصر
اين سؤال مشكل منم هست لطفا يكي جواب بده:ناراحت:
اگه ميشه يك نمونه كد براي گرفتن لينك از ديتابيس و دانلود اون رو بذاريد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.