我用Label作为前台页面,后台输入时,使用TextBox,输入到SQL SERVER 2000数据库nvarchar型字段中,发现,输入时没有问题,可是当使用DataReader读取到Label时,所有的格式都丢了,这个问题大家都是怎么解决的?我看了一下,数据库里面格式正常;  还有,假如要做一个处理程序,Label显示是在PageLoad里面做的,单独做一个public string strformat(string str)能被正常加载吗?  再有,就是能加载,比如空格、回车符之类的判断怎么写?数据库里面可没有这些符号。

解决方案 »

  1.   

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Not Page.IsPostBack Then
                Dim mode As String = Request.QueryString("mode")            If mode = "edit" Then
                    'delete.Visible = True
                    delete.Attributes.Add("onclick", "javascript:return confirm('Are you sure to delete this record?');")
                    Dim con As OleDbConnection
                    Dim str As String
                    Dim dad As OleDbDataAdapter
                    Dim dadstr As String
                    Dim dset As New DataSet()
                    Dim dtable As DataTable                str = Session("constr")
                    con = New OleDbConnection(str)
                    dadstr = "select * from employee where employeeid=" & Request.QueryString("employeeid")                dad = New OleDbDataAdapter(dadstr, con)
                    dad.Fill(dset, "employee")
                    dtable = dset.Tables("employee")
                    If Not IsDBNull(dtable.Rows(0).Item("Employee_number")) Then
                        Employee_number.Text = dtable.Rows(0).Item("Employee_number")
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Givennames")) Then
                        Givennames.Text = dtable.Rows(0).Item("Givennames")
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Surname")) Then
                        Surname.Text = dtable.Rows(0).Item("Surname")
                    End If
                    bind_ddlb(Gender, "code_gender", "name", "code")
                    location(Gender, "")
                    If Not IsDBNull(dtable.Rows(0).Item("Gender")) Then
                        location(Gender, dtable.Rows(0).Item("Gender"))
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Dob")) Then
                        dob.Text = Format(CDate(dtable.Rows(0).Item("Dob")), "d/MMM/yyyy")
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Position_name")) Then
                        Position_name.Text = dtable.Rows(0).Item("Position_name")
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Employment_type")) Then
                        Employment_type.Text = dtable.Rows(0).Item("Employment_type")
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Current_FTE")) Then
                        Current_FTE.Text = dtable.Rows(0).Item("Current_FTE")
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Home_address")) Then
                        Home_address.Text = dtable.Rows(0).Item("Home_address")
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Home_number")) Then
                        Home_number.Text = dtable.Rows(0).Item("Home_number")
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Work_number")) Then
                        Work_number.Text = dtable.Rows(0).Item("Work_number")
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Fax")) Then
                        Fax.Text = dtable.Rows(0).Item("Fax")
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Mobile")) Then
                        Mobile.Text = dtable.Rows(0).Item("Mobile")
                    End If
                    If Not IsDBNull(dtable.Rows(0).Item("Page1")) Then
                        Page1.Text = dtable.Rows(0).Item("Page1")
                    End If
                Else
                    bind_ddlb(Gender, "code_gender", "name", "code")
                    location(Gender, "")
                End If            
            End If
        End Sub
      

  2.   

    可是当使用DataReader读取到Label时,所有的格式都丢了 
    ===========
    什么格式以上是给你一个例子看看 如何处理空值
      

  3.   

    Label是肯定不行的,可以用TextBox来设置的,设BorderStyle为None不就是类似与Label的样子了,再设ReadOnly=True就行了,TextBox可以转行的
      

  4.   

    如果大家给例子,麻烦给C# 的,vb的看着太累:因为我不懂
      

  5.   

    直接把 回车 等字符 存储成HTML  《br》应该没有问题把
      

  6.   

    TextBox倒是可以,但是假如字数太多是不是就不行了,TextBox好像不能随着字数多少而自动伸缩吧?
      

  7.   

    是啊,一般情况,大家都用c#进行开发asp.net吧?
      

  8.   

    用DIV,加runat=server下面是字符串格式的方法,自己整理一下,就可以了。function DvbbsHtmlAn(fString)
    if not isnull(fString) then
        fString = replace(fString, ">", ">")
        fString = replace(fString, "&lt;", "<")
    fString = Replace(fString, CHR(32), " ")
    fString = Replace(fString, CHR(9), "&nbsp;")
    fString = Replace(fString, CHR(34), "&quot;")
    fString = Replace(fString, CHR(39), "&#39;")
    fString = Replace(fString, CHR(13), "")
    fString = Replace(fString, CHR(10) & CHR(10), "<P></P>")
    fString = Replace(fString, CHR(10), "<br>") DvbbsHtmlAn = fString
    end if
    end function
      

  9.   

    直接输出到 HtmlTable表格里面就可以了,在输出之前做一些替换,比如,把回车符号,换行符等替换成"<br>",把<替换成 &lt,>替换成&gt等
      

  10.   

    你如果要显示大量文本,建议将一个表格的单元格设为在服务器端运行,然后用td.innerhtml=reader["content"].tostring();
      

  11.   

    你在储存数据时有没有用Server.HtmlEncode(string)进行一次编码????
      

  12.   

    用Server.HtmlEncode编码以后出错:监测到危险的客户端输入;可能是编码以后的某些字符被当成了非法字符
      

  13.   

    写一个<div id=content runat=server>
    然后把数据库中内容读到string或者stringbuilder中注意 forideal(我心飞翔) 的方法最后Server.htmldecode输出 content.innerhtml = string ;
                           or content.innerhtml = stringguilder.tostring() ;
      

  14.   

    fString = replace(fString, "&gt;", ">")
        fString = replace(fString, "&lt;", "<")
    fString = Replace(fString, CHR(32), " ")
    fString = Replace(fString, CHR(9), "&nbsp;")
    fString = Replace(fString, CHR(34), "&quot;")
    fString = Replace(fString, CHR(39), "&#39;")
    fString = Replace(fString, CHR(13), "")
    fString = Replace(fString, CHR(10) & CHR(10), "<P></P>")
    fString = Replace(fString, CHR(10), "<br>")但小心破坏当前页面的Html代码