业务逻辑功能,因为有了DNN框架的支持,你完全不需要理会数据存储等底层的复杂性!
你只需继承它的接口并重写你需要的方法就可以了!

现在翻出来似乎有些那个!不过只想让那些对DNN 感兴趣的朋友一些实在的东西,
让他们觉得尽管看起来DNN很庞大的样子,其实只要深入探究一下就可以实现
任何你想做的!!

先看看效果截图:
你看其实你只需要两个用户控件就好了,CustomPlayer.ascx和Settings.ascx就足够了,
前者是呈现Flash,后者是Flash设置选项,如图:
在这你可以设置Flash链接地址,目前只支持绝对路径,:)如上,或相对你程序运行的相对路径
本来想利用DNN的URLControl的,可当时发现不好使,只要放弃了,我还要好好研究该控件
,因为发现有时它不是很能满足我们的需求,正在准备中,不知哪位有啥思路(对UrlControl)
??赐教一下!!多谢了!!
原先为简单起见,故直接把设置选项存在表ModuleSettings里了(当你更新后,你可到数据库看看,你会发现在表ModuleSettings里增加该相应字段的,这就是DNN的无限魅力,而你并不需要做什么复杂的操作!!

接着在来 说说呈现部分,你只需要往界面添加一个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);
}
}
{
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):