PDA

View Full Version : querystring داینامیک



mehr83
سه شنبه 05 خرداد 1388, 17:13 عصر
در صفحه اول سایت یک دیتالیست توسط ویزارد بایند کرده ام
روی هر کدام که کلیک می کنم با دستور زیر جزئیات را در صفحه default2.aspx نشان میدم

Eval("id","default2.aspx?id={0}")

حالا اشکالی که وجود داره اینه که روی هر آیتمی کلیک بشه جزئیات فقط در default2.aspx نشان داده می شه
میخوام داینامیک باشه و بر اساس شرط
مثلا اگر فیلد name دیتالیست برابر با مانیتور شد کد اینطوری بشه

Eval("id","monitor.aspx?id={0}")
یا اگر فیلد name دیتالیست برابر با نوت بوک شد کد اینطوری بشه

Eval("id","notebook.aspx?id={0}")

از دوستان خواهش می کنم کمکم کنند.


----------------------------------------------------------------------
فروش ويژه مجموعه كامل محصولات آموزش برنامه نويسي AppDev
Asp.NET , Visual Basic.NET , Visual C#.NET , SQL Server 2008 , Web Service , LINQ , Html , Xml , SharePoint
اطلاعات بيشتر در
http://sadrasystem.org (http://sadrasystem.org/)

mehr83
چهارشنبه 06 خرداد 1388, 00:34 صبح
کسی تو این مورد اطلاعاتی نداره کمکم کنه؟

xcomlock
چهارشنبه 06 خرداد 1388, 01:31 صبح
<ItemTemplate>
<a href="<%# Eval("name") %>?ID=<%# Eval("ID") %>" class="b01">
<asp:Label ID="titleLabel" runat="server" Text='<%# Eval("title") %>'></asp:Label>
</a>
<br/>
</ItemTemplate>
فرض اینه که شما به یه دیتا لیست اطلاعاتت رو بایند کردی و در اینجا دیتابیس شما 3 فیلد داره که دوتای اولی (ID,name) لینک دینامیک شما را روی سومی (title) میسازند.
موفق باشید.

mehr83
چهارشنبه 06 خرداد 1388, 02:25 صبح
ممنون از پاسختون
ولی من اصلا متوجه نشدم!

----------------------------------------------------------------------
فروش ويژه مجموعه كامل محصولات آموزش برنامه نويسي AppDev
Asp.NET , Visual Basic.NET , Visual C#.NET , SQL Server 2008 , Web Service , LINQ , Html , Xml , SharePoint
اطلاعات بيشتر در
http://sadrasystem.org (http://sadrasystem.org/)

Chabok
چهارشنبه 06 خرداد 1388, 02:33 صبح
منظورتون به این صورته ؟


Eval("name","{0}.aspx") + Eval("id","?id={0}")

mehr83
چهارشنبه 06 خرداد 1388, 02:40 صبح
نتونستم این کد رو اجرا کنم خطا داد

DataBinding: 'System.String' does not contain a property with the name '{0}'.

بعد از اینکه دیتالیست را بایند کردم این خط را به سورس دیتالیست اضافه می کنم

<a href='<%# DataBinder.Eval(Container.DataItem, "id", "default2.aspx?id={0}") %>'

اما در این حالت روی هر رکوردی که در دیتالیست کلیک میشه به صفحه default2.aspx میره
من می خوام بر حسب نوع رکورد صفحات مشخص بشه
مثلا اگر رکوردی فیلد name آن "مانیتور" بود بره به صفحه monitor.aspx
یا اگر "نوت بوک" بود بره به صفحه notebook.aspx


----------------------------------------------------------------------
فروش ويژه مجموعه كامل محصولات آموزش برنامه نويسي AppDev
Asp.NET , Visual Basic.NET , Visual C#.NET , SQL Server 2008 , Web Service , LINQ , Html , Xml , SharePoint
اطلاعات بيشتر در
http://sadrasystem.org (http://sadrasystem.org/)

iman_22a
چهارشنبه 06 خرداد 1388, 03:04 صبح
NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.Name") & ".aspx?id=" & DataBinder.Eval(Container, "DataItem.ID") %>'

mehr83
چهارشنبه 06 خرداد 1388, 03:18 صبح
NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.Name") & ".aspx?id=" & DataBinder.Eval(Container, "DataItem.ID") %>'

دمت گرم حال دادی.
ممنون
مشکلم حل شد


----------------------------------------------------------------------
فروش ويژه مجموعه كامل محصولات آموزش برنامه نويسي AppDev
Asp.NET , Visual Basic.NET , Visual C#.NET , SQL Server 2008 , Web Service , LINQ , Html , Xml , SharePoint
اطلاعات بيشتر در
http://sadrasystem.org (http://sadrasystem.org/)

xcomlock
چهارشنبه 06 خرداد 1388, 03:18 صبح
شما یه SQLDataSource میسازی که سه تا رکورد مثال زده شده رو بکشه بیرون
حالا یه دیتا لیست رو به این SQLDataSource بایند میکنی.
اون کدهائی که گفتم رو داخل دیتا لیست قرار میدی. به همین راحتی