BaldwinCustomFlashPlayer最简单却最炫的DNN模块

我想大伙最关心DNN的恐怕就是DNN模块的开发吧!!在DNN你可以做任何想实现的
业务逻辑功能,因为有了DNN框架的支持,你完全不需要理会数据存储等底层的复杂性!
你只需继承它的接口并重写你需要的方法就可以了!
在这我给大家一个最简单却很炫的Flash播放器的模块,其实这是很久以前就做的,
现在翻出来似乎有些那个!不过只想让那些对DNN 感兴趣的朋友一些实在的东西,
让他们觉得尽管看起来DNN很庞大的样子,其实只要深入探究一下就可以实现
任何你想做的!!
先看看效果截图:

你看其实你只需要两个用户控件就好了,CustomPlayer.ascx和Settings.ascx就足够了,
前者是呈现Flash,后者是Flash设置选项,如图:

在这你可以设置Flash链接地址,目前只支持绝对路径,:)如上,或相对你程序运行的相对路径
本来想利用DNN的URLControl的,可当时发现不好使,只要放弃了,我还要好好研究该控件
,因为发现有时它不是很能满足我们的需求,正在准备中,不知哪位有啥思路(对UrlControl)
??赐教一下!!多谢了!!
原先为简单起见,故直接把设置选项存在表ModuleSettings里了(当你更新后,你可到数据库看看,你会发现在表ModuleSettings里增加该相应字段的,这就是DNN的无限魅力,而你并不需要做什么复杂的操作!!)当如果想建立自己的表来存储数据的话,你就可能需要建立脚本,还要实现好些接口和方法,这在我下版本就如此处理的(只是现在还有些bug,故就不摆上先了)
接着在来 说说呈现部分,你只需要往界面添加一个label控件就足够了,具体的后台代码如下:
private void Page_Load(object sender, System.EventArgs e)
        {      
            
if(!Page.IsPostBack)
            {
                
try
                {
                    
string swfFile =(string)Settings["movie"];
                    
if(swfFile!=null && swfFile !="")
                    {
                        System.Text.StringBuilder StringFormat
=new System.Text.StringBuilder("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" ");
                        StringFormat.Append(
"codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/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=\"application/x-shockwave-flash\"></embed></object>");
                        lblFlashPlayer.Text = string.Format(StringFormat.ToString(),(string)Settings["width"],(string)Settings["height"],swfFile,swfFile);
                    }
                }
                
catch (Exception exc) 
                {
                    Exceptions.ProcessModuleLoadException(
this, exc);
                }
            }


就如此吧,其实这都是前辈的指导的,在此谢谢 小春 http://www.cnblogs.com/cnzc/
没啥的,一再声明就想刚接触DNN的朋友一些思路,少走些弯路吧 :)
再提一点的就是Settings其实就是DNN里一个Hashtable,在里边存储你的设置字段的,
当你需要取出时只要如上边那样用即可,不附加任何!!
随意写些了,需要补充的话我会添加,有啥问题可以联系或留言,我会尽快回复!!
下载地址(PA):https://files.cnblogs.com/sunwangji/CustomFlashPlayer.zip
解决方案(Code):

原文地址:https://www.cnblogs.com/sunwangji/p/214033.html