wxysky

eduAdmin

博客园 首页 新随笔 联系 订阅 管理
几个DNN里的技巧(转) New Post
发表日期: 10 十二月 05 19:26 (China)
引用 回复
一,保存密码框中的数字

一般的,当用户登陆的时候填错用户名或密码,IE会自动将密码 框的内容给清空掉,但有没有办法保存下来呢,有,下面是DNN的保存方法,(我以前在论坛里也看见过这贴子,但怎么做的我也忘记了)
 Private Sub Page_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load
           
            txtPassword.Attributes.Add(
"value", txtPassword.Text)‘’‘’是这一句

            
If Page.IsPostBack = False Then
                
Try
                    SetFormFocus(txtUsername)
                
Catch
                    
'control not there or error setting focus
                End Try
            
End If

            
Dim objSystemMessages As New SystemMessageController
            lblLogin.Text 
= objSystemMessages.FormatSystemMessage(PortalId, "MESSAGE_LOGIN_INSTRUCTIONS", UserId)

        
End Sub

二,打开页面时自动将焦点放到指定位置
  'set focus to any control

        
Public Sub SetFormFocus(ByVal control As Control)
            
If Not control.Page Is Nothing And control.Visible Then
                
If control.Page.Request.Browser.JavaScript = True Then

                    
' Create JavaScript 
                    Dim sb As New System.Text.StringBuilder
                    sb.Append(
"<SCRIPT LANGUAGE='JavaScript'>")
                    sb.Append(
"<!--")
                    sb.Append(ControlChars.Lf)
                    sb.Append(
"function SetInitialFocus() {")
                    sb.Append(ControlChars.Lf)
                    sb.Append(
" document.")

                    
' Find the Form 
                    Dim objParent As control = control.Parent
                    
While Not TypeOf objParent Is System.Web.UI.HtmlControls.HtmlForm
                        objParent 
= objParent.Parent
                    
End While
                    sb.Append(objParent.ClientID)
                    sb.Append(
"['")
                    sb.Append(control.UniqueID)
                    sb.Append(
"'].focus(); }")
                    sb.Append(
"window.onload = SetInitialFocus;")
                    sb.Append(ControlChars.Lf)
                    sb.Append(
"// -->")
                    sb.Append(ControlChars.Lf)
                    sb.Append(
"</SCRIPT>")

                    
' Register Client Script 
                    control.Page.RegisterClientScriptBlock("InitialFocus", sb.ToString())
                
End If
            
End If
        
End Sub

以后会继续将里面的一些我们可能会用到的小技巧贴出来。
花了几天时间,也已经将DNN里的SKIN.VB代码消化的差不多了,而且对DNN的运行也有了许多更多的了解,本来很想写点什么的,但,发现实在没那个心情,对BLOG的更新告一段落了……另外我也会关注DNN 3.0的

另外:BOY119,上次你说的那个模块分页我已经解决了,如果有时间我发送给你吧或到时 我也将对那个模块的分页功能分析的思路及修改我也写出来:)

14:31:36

三,将datareader类型数据转换为dataset数据类型

 

 ' convert datareader to dataset
        '转换DATAREADER为dataset
        Public Function ConvertDataReaderToDataTable(ByVal reader As IDataReader) As DataTable

            
' create datatable from datareader
            Dim objDataTable As New DataTable
            
Dim intFieldCount As Integer = reader.FieldCount
            
Dim intCounter As Integer
            
For intCounter = 0 To intFieldCount - 1
                objDataTable.Columns.Add(reader.GetName(intCounter), reader.GetFieldType(intCounter))
            
Next intCounter

            
' populate datatable
            objDataTable.BeginLoadData()
            
Dim objValues(intFieldCount - 1As Object
            
While reader.Read()
                reader.GetValues(objValues)
                objDataTable.LoadDataRow(objValues, 
True)
            
End While
            reader.Close()
            objDataTable.EndLoadData()

            
Return objDataTable

        
End Function
posted on 2006-03-12 01:02  无名  阅读(329)  评论(0编辑  收藏  举报