PDA

View Full Version : سوال: خطا هنگام ارسال کوئری استرینگ از دیتالیست



rana-writes
شنبه 22 مرداد 1390, 16:22 عصر
سلام
من توی سایتم یه دیتالیست دارم که شامل یه عکس، اسم و فیلد جزییات بیشتره
با کلیک بر روی جزییات بیشتر با یه کوئری استرینگ که آی دی کتابه به صفحه اطلاعات بیشتر میرم
کدهایی که نوشتم اینطوریه:
برای دیتالیست توی بخش aspx


<asp:DataListID="DataListTaroonehBook"runat="server"RepeatColumns="4"
CssClass="bookview"onitemcommand="DataListTaroonehBook_ItemCommand">
<ItemTemplate>
<divstyle="width:130px; margin:2px2px2px2px;">
<asp:ImageButtonID="LBLogo"runat="server"CssClass="pic"ImageUrl='<%#DataBinder.Eval(Container.DataItem,"Logo") %>'
CommandName="ShowMoreBook"CommandArgument='<%#DataBinder.Eval(Container.DataItem,"BookId") %>'/><br/>
<h4><asp:LabelID="LblBookName"runat="server"CssClass="text"Text='<%#DataBinder.Eval(Container.DataItem,"BookName") %>'>
</asp:Label></h4>
<asp:LabelID="LblAuthor"runat="server"CssClass="text"Text='<%#DataBinder.Eval(Container.DataItem,"Author1") %>'>
</asp:Label><br/>
<asp:LinkButtonID="ShowBook"runat="server"Text=" "CssClass="text"
CommandName="ShowBook"CommandArgument='<%#DataBinder.Eval(Container.DataItem,"BookId") %>'>
</asp:LinkButton>
</div>
</ItemTemplate>
</asp:DataList>


و توی کد cs هم اینو نوشتم:


protectedvoid DataListTaroonehBook_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "ShowBook")
{
int BookId = Convert.ToInt32((string)e.CommandArgument);
Response.Redirect("showbook.aspx?BookId=" + BookId);
}
if (e.CommandName == "ShowMoreBook")
{
int BookId = Convert.ToInt32((string)e.CommandArgument);
Response.Redirect("showbook.aspx?BookId=" + BookId);
}
}


حالا وقتی روی لینک جزییات بیشتر کلیک میکنم، بدون مشکل به صفحه Showbook هدایت میشم و اطلاعات رو می بینم
ولی وقتی روی عکس کلیک میکنم این پیام خطا رو بهم میده که فایلش رو ضمیمه کردم
ممنون میشم راهنماییم کنین

73753

moslem.hady
یک شنبه 23 مرداد 1390, 00:18 صبح
چرا از لینک باتون استفاده میکنی؟ از تگ a استفاده کن. و اینطوری بش مقدار بده:

<a href='<%# Eval("BookID", "showbook.aspx?bookid={0}") %> نمایش کتاب</a>عکست رو هم میتونی توی همین تگ a بذاری:

<a href='<%# Eval("BookID", "showbook.aspx?bookid={0}") %><img src='<%# Eval("logo","~/images/{0}") %>' /></a>
آدرس عکس هات رو بجای images/~ بذار

rana-writes
یک شنبه 23 مرداد 1390, 14:05 عصر
تفاوت این قضیه چیه؟
به هر حال این یه مشکلی موقع ارسال پارامتر داره میخوام اون رو حل کنم

دوستان دیگه نظری ندارن؟

amir-aa
یک شنبه 23 مرداد 1390, 14:15 عصر
ببین عزیزم چرا از تنظیمات داخل برنامه موقع کانفیگ کردن استفاده نمی کنی.خیلی ساده میشه.

rana-writes
دوشنبه 24 مرداد 1390, 10:51 صبح
ببین عزیزم چرا از تنظیمات داخل برنامه موقع کانفیگ کردن استفاده نمی کنی.خیلی ساده میشه.

میشه بیشتر راهنماییم کنین که کجای کار اشتباهه؟

من قبلا اینکارو، یعنی ارسال کوئری استرینگ توسط یه ImageButton توی دیتالیست رو انجام دادم، اونجا من CommandArgumant رو آدرس عکس گذاشتم و همین رو به عنوان کوئری استرینگ ارسال کردم و مشکلی نداشتم، اما الان من نیاز دارم که فیلد BookId رو ارسال کنم تا توی صفحه ی بعد مشخصات کتاب مورد نظر دیده بشه، چرا این کار با همچین پیامی روبرو شده؟
و راه برطرف کردن این خطا چیه؟

amirjalili
دوشنبه 24 مرداد 1390, 11:32 صبح
ببین قبلا جواب این خطا داده شده. راه حل های ارائه شده از طرف برخی دوستان فقط پاک کردن مسئله و تغییر مسیر به جای مواجهه با مشکله. به لینک زیر در مرجع خطاها و باگ ها مراجعه کنید

http://barnamenevis.org/showthread.php?216042-%D9%85%D8%B1%D8%AC%D8%B9-%DA%A9%D8%A7%D9%85%D9%84-%D8%AE%D8%B7%D8%A7%D9%87%D8%A7-%D9%88-BUG-%D9%87%D8%A7-%D8%AF%D8%B1-ASP.NET/page8

aserfg
دوشنبه 24 مرداد 1390, 12:26 عصر
ببین قبلا جواب این خطا داده شده. راه حل های ارائه شده از طرف برخی دوستان فقط پاک کردن مسئله و تغییر مسیر به جای مواجهه با مشکله. به لینک زیر در مرجع خطاها و باگ ها مراجعه کنیددوست عزیز با تشکر از تاپیکی که تحت عنوان مرجع خطا ها و.... ایجاد کردین .
گاهی اوقات یک خطا می تونه منشا های مختلفی داشته باشه که برای هر کدوم راه حل جداگانه ای باید ارائه بشه . این خطای بخصوص که کاربر محترم بهش اشاره کردن هم از این قاعده مستثنا نیست .
چنانچه با راه حل آقای amirjalili مشکلتون حل شد که ... در غیر اینصورت بفرمایید دیتا لیست شما آیا در درون یه updatepanel است یا خیر ؟

rana-writes
دوشنبه 24 مرداد 1390, 12:41 عصر
ببین قبلا جواب این خطا داده شده. راه حل های ارائه شده از طرف برخی دوستان فقط پاک کردن مسئله و تغییر مسیر به جای مواجهه با مشکله. به لینک زیر در مرجع خطاها و باگ ها مراجعه کنید

http://barnamenevis.org/showthread.php?216042-%D9%85%D8%B1%D8%AC%D8%B9-%DA%A9%D8%A7%D9%85%D9%84-%D8%AE%D8%B7%D8%A7%D9%87%D8%A7-%D9%88-BUG-%D9%87%D8%A7-%D8%AF%D8%B1-ASP.NET/page8

ممنون آقای جلیلی مشکلم حل شد
من تاپیک شما رو خونده بودم ولی ظاهرا این پست رو ندیدم
ممنون از راه حلتون
دقیقا حق با شماست باید راه حل پیدا بشه نه اینکه صورت مسئله پاک بشه
سپاس بسیار