本来是前二天贴出来,但住处没法上网,又整天杀帝国II 所以现在提供出来 控件详细情况点击这里
不想多说什么了,代码很简单,只要一看明白,也可以自己测试。测试源码可以在这里下载 我要下载
上面的测试源码是最早以前,现在已经修改过源码,但没覆盖。所以可以会跟你制作的控件最终效果不一样
Imports System.Web.UI
Imports System.ComponentModel
Imports System.Web.UI.WebControls
Imports System.Text
Imports System.Web
Namespace FlashAdRotatorNamespace FlashAdRotator.Web.UI.WebControls
<DefaultProperty("Text"), ToolboxData("<{0}:FlashAdRotator runat=server></{0}:FlashAdRotator>")> _
Public Class FlashAdRotatorClass FlashAdRotator
Inherits System.Web.UI.WebControls.AdRotator
Private isFlashAD As Boolean
Private ImgUrl As String
Private NavUrl As String
'/ <summary>
'/ 将此控件呈现给指定的输出参数。
'/ </summary>
'/ <param name="output"> 要写出到的 HTML 编写器 </param>
Protected Overrides Sub Render()Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
If Me.isFlashAD Then
Dim StringFormat As StringBuilder = New StringBuilder("<object classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" ")
StringFormat.Append("codebase=""http://download.macromedia.com/pub/sho ... h/swflash.cab#version=6,0,29,0"" width={0} height={1}>")
StringFormat.Append(" <param name=""movie"" value={2}>")
StringFormat.Append(" <param name=""quality"" value=""high"">")
StringFormat.Append(" <embed src={3} quality=""high"" ")
StringFormat.Append(" pluginspage=""http://www.macromedia.com/go/getflashplayer"" type=""applic ... ;></embed></object>")
Dim OutPutString As StringBuilder = New StringBuilder
' OutPutString.AppendFormat(StringFormat.ToString, Me.Width, Me.Height, Me.ResolveUrl(StringUnit.CombineURL(Me.AdvertisementFile, Me.ImgUrl)), Me.ResolveUrl(StringUnit.CombineURL(Me.AdvertisementFile, Me.ImgUrl)))
OutPutString.AppendFormat(StringFormat.ToString, Me.Width, Me.Height, Me.ImgUrl, Me.ImgUrl)
writer.Write(OutPutString.ToString)
Else
MyBase.Render(writer)
End If
End Sub
Protected Overrides Sub OnAdCreated()Sub OnAdCreated(ByVal e As AdCreatedEventArgs)
MyBase.OnAdCreated(e)
If e.ImageUrl.ToLower().IndexOf(".swf") <> -1 Then
Me.isFlashAD = True
Me.ImgUrl = e.ImageUrl
Me.NavUrl = e.NavigateUrl
Else
Me.isFlashAD = False
End If
End Sub
End Class
Public Class FlashAdRotatorDesigner
Inherits System.Web.UI.Design.WebControls.AdRotatorDesigner
End Class 'FlashAdRotatorDesigner
今天在研究网站的智能动态导航(智能称不上,主要还是通过人工方式将链接及说明添加到XML文件当中),在CSDN搜索了下,发现这方面的资料有用的少之又少,不知道大家有什么资料
初步想法:主要使用xml,将网站的导航条及链接全部添加到xml当中,在程序运行的时候将值传递给XSLT样式表进行转换成一个表格,如:你当前的位置: 首页 > 技术总结 > ASP.NET
刚刚完成简单的转化工作,具体结果到底给不给成功还要等待自己的最终效果:)
当然还有许多地方我可能还要注意:将文件进行缓存,以解决每刷新一次就重新读取,是否通过.ascx控件将XML通过XlLT转换成HTML呢还是直接通过xml?(感觉第二种不是很好,因为我可以将.ascx创建属性,通过该属性的值传递给XSLT,进行查找,并转换成Html输出)
不知道大家有没有好的建议?
浙公网安备 33010602011771号