PDA

View Full Version : سوال: فیلدی به صورت link



shadidayan
جمعه 28 فروردین 1388, 14:47 عصر
با سلام
می خواهم اطلاعاتی را از بانک بخونم و یک فیلد ان به صورت link تو datalist نمایش داده بشه برای این کار چکار باید بکنم (مبتدی هستم)

nkhozooii
جمعه 28 فروردین 1388, 17:06 عصر
<a href="newsDetail.aspx"><%# Container.DataItem("Title") %></a>

در این مثال در قسمت html دیتالیست فیلد Title با تگ a به صفحه newsDetail.aspx مربوط شده است

shadidayan
جمعه 28 فروردین 1388, 20:26 عصر
با تشکر من تو asp تازه کارم اگه میشه بیشتر توضیح دهید ممنون میشم

nkhozooii
شنبه 29 فروردین 1388, 08:46 صبح
ديتاليست را مثلا به اين صورت ايجاد مي كنيد:


<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource2" CellPadding="4" ForeColor="#333333">
<ItemTemplate>

<a href="newsDetail.aspx"> <asp:Label ID="Titlelbl" runat="server" Text='<%# Eval("Title") %>'></asp:Label></a><br />
<br />
</ItemTemplate>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<AlternatingItemStyle BackColor="White" />
<ItemStyle BackColor="#EFF3FB" />
<HeaderTemplate>
<asp:Label Font-Bold="True" Font-Names="Tahoma" Font-Size="Small" ID="Label1" runat="server" Text="مëيںë ھی©«ی«¢ê" Width="110px"></asp:Label>
</HeaderTemplate>
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
</asp:DataList>

در اينجا يك ديتاليست ايجاد شد كه Titlelbl در آن همان تيتري را كه مي خواهيم لينك داشته باشد نمايش مي دهد ( يعني اسم فيلد ديتاتيبلي را كه به ديتاليست اختصاص داده بوديم در Eval يا container قرار مي دهيم و اطلاعات آن فيلد را مي گيريم و كل Titlelbl را هم داخل تگ a براي ارجاع به صفحه newsDetail قرار مي دهيم.)
در برنامه هم بايد به اين صورت عمل كني:
1) يك سلكت از جدول مي زني و داخل dt مي ريزي.
2)


DataList1.datasource=dt
datalist1.databind()

shadidayan
شنبه 29 فروردین 1388, 16:56 عصر
مشکلم حل شد حالا وقتی روی یکی از این فیلدها کلیک شد می خواهم مقدارشو برگردونه که تو دستور شرط ازش استفاده کنم یعنی تو کدهای برنامه که مثلا اگه فلان مقدار بود ...
ممنون از کمکتون

shadidayan
شنبه 29 فروردین 1388, 22:41 عصر
فکر کنم درست منظورمو نگفتم کاری که در بیشتر صفحات وب انجام میشه یک لینک رو کلیک می کنیم و به صفحه مربوط به اون وارد میشه.حالا من اگه چند تا رکورد داشته باشیم رو هر کدوم از این رکوردهای لینک شده بریم به صفحه مخصوص با اطلاعات خاصش برم
ممنون میشم از کمکتون

nkhozooii
یک شنبه 30 فروردین 1388, 11:36 صبح
اين كد را بايد به جاي Lable و تگ a داخل ديتاليست اضافه كني:


<asp:HyperLink ID="hyper1" Text='<%# Eval("Title") %>' runat="server" DataNavigateUrlFormatString="newsDetail.aspx?id={0}" NavigateUrl="newsDetail.aspx?id={0}" DataNavigateUrlFields="id" />

البته ممكن است كاملا درست نباشد. روي Navigation هايش كار كن. در اين كد چون فيلد id را در DatanavigateUrlField معرفي كرده ايم آن را به صفحه مربوطه پاس مي دهد يعني روي هر لينكي كه كليك كني آي دي آن به صفحه مربوطه پاس داده مي شود. رويش كار كن اگر باز ديدي درست كار نكرد بيشتر راهنمايي كنم ولي راهش اينه

shadidayan
دوشنبه 31 فروردین 1388, 22:04 عصر
با تشکر ار کمکتون
ولی
DataNavigateUrlFormaString را خطا میگیره و میگه فرمتش اشتباهه
اگه اینو ننویسم خروجی همیشه {0} رو بر میگردونه
اگه میشه بیشتر کمکم کنید
ممنون

nkhozooii
دوشنبه 31 فروردین 1388, 23:11 عصر
ببینید DataNavigateUrlFormatString است نه DataNavigateUrlFormaString آیا درست تایپ می کنید ؟

shadidayan
دوشنبه 31 فروردین 1388, 23:33 عصر
بله اصلا این نوع رو نداره جاشو درست گذاشتم
<ItemTemplate>
moarefi:
<asp:Label ID="moarefiLabel" runat="server" Text='<%# Eval("moarefi") %>'></asp:Label><br />
maghsad_city:
<asp:HyperLink ID="hyper1"Text='<%# Eval("maghsad_city") %>' runat="server" DataNavigateUrlFormatString="newsDetail.aspx?id={0}" NavigateUrl="newsDetail.aspx?id={0}" DataNavigateUrlFields="id"/>
</asp:HyperLink><br />
<br />
</ItemTemplate>

nkhozooii
چهارشنبه 02 اردیبهشت 1388, 10:00 صبح
اين صد در صد جواب مي ده. امتحان كن :


<asp:DataList ID="DataList2" runat="server" CellPadding="4" ForeColor="#333333">
<ItemTemplate>
<a href ='login.aspx?id=<%# Container.DataItem("id") %>'><asp:Label ID="Label1" runat="server" Text='<%# Eval("Title") %>'></asp:Label></a>&nbsp;
</ItemTemplate>
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
</asp:DataList>

gheysar14
دوشنبه 25 خرداد 1388, 12:16 عصر
اگه بخواهیم یه عکس تو دیتالیست به صورت لینک بشه که با کلیک رو اون عکس رو بزگتر نمایش بده به چه صورت باید عمل کنیم؟ ضمناً آدرس عکس تو دیتابیس ذخیره شده