Register  |  Login

开发DNN模块之Utility

Posted in [DNN使用及思考], [DNN模块开发], [杂项] By baldwin
列举一些可能我们在开发DNN模块中需要的Utility,比如获取文件的绝对路径等等,有时我们在开发模块的过程中,不妨多去DNN核心代码里边查看,也许你想实现的方法本来DNN已径实现了,那就没有必要自己再重写一遍了,毕竟我们的项目都是在DNN核心架构上开发的,尽量利用原有的代码总是最佳捷径,推荐大家去看看Library\Components\Shared\Globals.vb这个类,这个类有很多我们需要的方法.Enjoy DNN...
1) 获取某一文件的绝对路径,比如我们在模块开发时需要调用的aspx页面或web service文件等等
获取文件的绝对路径
''' <summary>
''' Get the complete url to a file
''' </summary>
''' <param name="URL">the url to be resolved ( such as modulepath )</param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function AddHost(ByVal URL As String) As String
        ' just in case a stateless thread calls this method (it could happen)
       If HttpContext.Current Is Nothing Then
             Return URL
       End If
       Dim result As String
       Dim host As String = HttpContext.Current.Request.ServerVariables("HTTP_HOST").TrimEnd("/"c)
       'Dim host As String = HttpContext.Current.Request.ServerVariables("SERVER_NAME")
       If URL.ToLower.Contains(host.ToLower) Then
           result = URL
       Else
           'String.Concat - this is MUCH faster on a high traffic site
           If Not URL.StartsWith("/") Then URL = String.Concat("/", URL)
             result = String.Concat(host, URL)
           End If
 
        Return DotNetNuke.Common.Globals.AddHTTP(result)
End Function
2)客户端用js获取asp.net服务器控件RadioButtonList的选中值,其主要原理是,RadioButtonList在客户端是被解析成了table,通过getElementsByTagName("INPUT")方法可获取它的所有子radio,然后循环每个radio,判断是否处于选中状态checked,再通过cells获取radio的text或value值.
获取RadioButtonList的选中值
function GetSelectvalue(parentElement)
{
    var TargetValue;
    var listContainer = parentElement.getElementsByTagName("INPUT");
    var ItemCount = listContainer.length;
    for (var i=0;i<ItemCount;i++)
    {
        if (listContainer[i].checked)
        {
           TargetValue = listContainer[i].value;
           break;
        }
    }
   
    return TargetValue;
}
Copyright © 2007 dnnsun ( sunwangji)
Popular tags: Utility, ClientAPI, DNN架构
Previous Entry: DNN模块开发应用Ajax之Utility
Next Entry: 一些值得推荐的DNN资源

Comments

Was it good for you, too? Join the discussion »

leave a reply

About the author
Baldwin's Status
 Contact Me
Baldwin Sun
Senior Developer for dnn solution & founder of SunBlog module...
网站主页
dnnsun
最新评论
  1. Re: "暴力"解决DNN无法登陆的问题

    你好 有个问题 我改了登录界面后能登录 但是一点注册 就跳到了HOME页 这个怎么解决

    --zl24622

  2. Re: 你的dnn站点慢了么?

    需要你把旁边的checkbox勾选上再执行 :)

    --Baldwin

  3. Re: 你的dnn站点慢了么?

    为什么,我将你的代码copy到host>sql中去执行之后,报错呢,语句是不是有问题哦?

    --claire

  4. Re: 剖析DNN架构-开篇之作

    很好

    --vling83

  5. Re: SunBlog更新:增加3D Tag Clouds插件

    在以上评论已说明, SunBlog已经是一个成熟的商业模块,如果需要授权或下载请邮件联系我们, 感谢你的关注, 我们即将推出一个demo的站点(这周之内).

    --Baldwin

  6. Re: SunBlog更新:增加3D Tag Clouds插件

    这个没地方下载的吗,要怎么才能下载到,谢谢

    --Sun key

  7. Re: SunBlog更新:增加3D Tag Clouds插件

    已经电邮您了,请注意查收

    --sunny0315

  8. Re: 如何添加DNN模块的自定义权限

    你只要设置好该节点即可, 比如:DnnSun.SunBlogNuke.Business.InterfaceController, DnnSun.Modules.SunBlogNuke 其他的请再详细看看本文,我觉得说得蛮清楚的 :)

    --Baldwin

Blog搜索
Rss Feed
feedsky
抓虾
pageflakes
newsgator
哪吒
相册库
更多照片请查看相册库
我们的服务
  • DotNetNuke 咨询
  • Web设计及其模块开发
  • 免费建站
  • 电子商务
  • 开拓市场
我们致力于开发定制的web 2.0 ,所服务的客户主要包括小中型企业,社区俱乐部及其非盈利机构组织。我们将利用开源的DNN作为我们核心的系统机制,更多相关信息...
版权声明
本站任何言论仅代表个人观点,与作者所在的公司没有任何关系,所有贴子皆以“现状”提供且没有任何担保,同时也没有授予任何权利。