PDA

View Full Version : سوال: خواندن آدرس دو نوع فایل swf و jpg از دیتابیس و نمایش در repeater



saeed_sho
پنج شنبه 29 تیر 1391, 11:14 صبح
سلام
من یه یوزر کنترل دارم که توی اون یه repeater دارم و میخوام آدرس فایل تبلیغاتی رو که در فولدری ذخیره شده رو از دیتابیس بگیرم و در repeater نشون بدم اما نوع فایل های من دو نوع swf و jpg هستش که در یکی از فیلدهام نوع فایل رو ذخیره میکنم و میخوام با توجه به فیلدی که در تیبل دارم اونو تعیین کنم اما کدهایی که زدم هیچ واکنشی نشون نمیدن اینم کدهامه:
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="wuc_tablighat.ascx.vb" Inherits="SmsPanel.wuc_tablighats" %>

<table width ="960px" dir ="rtl" cellpadding ="0" cellspacing ="0">
<tr>
<td align ="right" style ="margin-left: 20px; margin-right: 20px; width: 920px; height: 140px;">
<asp:Repeater ID="rpt_tabligh" runat="server">
</asp:Repeater>
</td>
</tr>
</table>

Private Sub rpt_tabligh_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rpt_tabligh.ItemDataBound
'این شرط کنترل میکند که نو فایل فلش است یا خیر
'در صورت برقرار نبودن شرط فایل از نوع jpg میباشد
If (e.Item.DataItem("tabligh_file_type") = "swf") Then
'یک کنترل لیترال تعریف میشود و یک شیء دایو قرار داده میشود
'و درون دایو یک شیء لینک قرار میگیرد تا در صورت کلیک کاربر به صفحه مورد نظر هدایت شود
'و درون دایو یک شیء آبجکت برای نمایش فلش قرار داده میشود
Dim itemNew As New Literal()
itemNew.ID = "itemDis" & e.Item.DataItem("tabligh_id")
itemNew.Text = "<div id='itemDis_" & e.Item.DataItem("tabligh_id") & "' style='width: 460px; height: 140px;' valign='center'>" & _
"<a href='" & e.Item.DataItem("tabligh_click_page") & "' target='_blank' style='width: 460px; height: 140px;'>" & _
"<object id='player1' type='apllication/x-shockwave-flash' data='../Images/Tablighat/" & e.Item.DataItem("tabligh_file_address") & _
"' height='140px' width='460px' style='border: 1px solid #FFFFFF;'>" & _
"<param name='movie' value='../Images/Tablighat/" & e.Item.DataItem("tabligh_file_address") & "' />" & _
"<param name='play' value='true' /><param name='loop' value='true' /><param name='scale' value='ExactFit'/>" & _
"<param name='mode' value='0' /><param name='menu' value='false' /><param name='allowFullScreen' value='false'/>" & _
"<param name='allowScriptAccess' value=sameDomain' /><param name='quality' value='high' /></object></a></div>"
'کنترل لیترال به کنترل آیتم اضافه میشود
e.Item.Controls.Add(itemNew)
Else
'یک شیء لیترال ایجاد میشود و درون آن یک دایو قرار داده میشود
'و درون دایو یک شیء لینک قرار میگیرد تا در صورت کلیک کاربر به صفحه مورد نظر هدایت شود
'و درون دایو یک شیء عکس قرار داده میشود تا تصویر از نوع jpg را نشان دهد
Dim itemNew As New Literal()
itemNew.ID = "itemDis" & e.Item.DataItem("tabligh_id")
itemNew.Text = "<div id='itemDis_" & e.Item.DataItem("tabligh_id") & "' style='width: 460px; height: 140px;' valign='center'>" & _
"<a href='" & e.Item.DataItem("tabligh_click_page") & "' target='_blank' style='width: 460px; height: 140px;'>" & _
"<asp:Image id='imgDis" & e.Item.DataItem("tabligh_id") & "' imageUrl='../Images/Tablighat/" & e.Item.DataItem("tabligh_file_address") & _
"' AlternateText='" & e.Item.DataItem("tabligh_click_page") & "' Width ='460px' Height ='140px' /></a></div>"
'کنترل لیترال به کنترل آیتم اضافه میشود
e.Item.Controls.Add(itemNew)
End If
End Sub

لطفا راهنمایی کنید

saeed_sho
پنج شنبه 29 تیر 1391, 13:56 عصر
کسی جواب این سؤال رو نمیدونه؟

fakhravari
پنج شنبه 29 تیر 1391, 14:33 عصر
یه نمونه پست 16
http://barnamenevis.org/showthread.php?317497-%D8%A7%D8%B3%D9%84%D8%A7%DB%8C%D8%AF-%D8%B4%D9%88-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF&p=1442809&viewfull=1#post1442809

saeed_sho
پنج شنبه 29 تیر 1391, 18:56 عصر
هیچ کس کمک نمیکنه؟

fakhravari
پنج شنبه 29 تیر 1391, 22:18 عصر
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource2">
<ItemTemplate>
<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
border="0" width="254" height="197">
<param name="movie" value='<%# Eval("adress") %>'>
<param name="quality" value="High">
<embed src='<%# Eval("adress") %>' pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" name="obj1" width="254" height="197"></object>
</ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString1 %>"
ProviderName="<%$ ConnectionStrings:DatabaseConnectionString1.Provid erName %>"
SelectCommand="SELECT top(3) * FROM [Table1] order by id desc"></asp:SqlDataSource>

saeed_sho
شنبه 31 تیر 1391, 12:12 عصر
فایل ها دو نوع هستند یا فلش یا jpg البته نوع فایل در یک فیلد در دیتابیس ذخیره میشه مشکل اینه که میخوام موقع لود شدن چک کنم اگه عکس بود بصورت عکس لود بشه و اگه فلش بود بصورت فلش لود بشه کدهای پست اول رو ببینید مثل رویداد ItemDataBound حالا سؤال: رویداد رو درست انتخاب کردم؟ کدهام هیچ واکنشی نشون نمیدن در itemTemplate ریپیتر هیچی نزاشتم باید بزارم ؟ مثل کدهای پست اول و در آخر ریپیتر رو چطوری میشه تنظیم کرد که افقی تکرار بشه؟
خیلی عجله دارم لطفا راهنمایی کنید

TeacherMath
شنبه 31 تیر 1391, 13:42 عصر
لازم نیست مشخص کنی نوع فایلت چیه با این ابزار جی کوئری به طور خودکار نوع فایل مشخص و نشان داده می شود.اگه سوالی داشتید من در خدمتم.
http://jquery.malsup.com/media/#options

saeed_sho
شنبه 31 تیر 1391, 14:03 عصر
میخوام تا جایی که بشه از ابزار و کنترل جانبی استفاده نکنم برای اینکار میشه راهنمایی کنید کدهای خودمو درست کنم

TeacherMath
شنبه 31 تیر 1391, 17:24 عصر
این یه نمونه است.