none
trim函数不管用 RRS feed

  • 问题

  •  

    trim函数到底该怎么用啊?

     

     

    无论我是用 trim(aa),还是aa.trim() ,

    aa结尾处绐终固执的跟着空格,怎么都去不掉!

     

     

    大概是什么原因呢?

    2008年5月23日 8:31

答案

  • Code Snippet

    Response.Redirect("../main/Studentmore.aspx?soSubject=" & (soSubject.Text).Trim() & " &soGrade=" & (soGrade.Text).Trim())

     

     

    多了个空格
    2008年5月23日 9:44
    版主

全部回复

  •  

    不是空格吧?看不见的不一定是空格
    strsting = Left(strsting, InStr(1, strsting, Chr(0)) - 1)

    2008年5月23日 8:50
  •  

    看看最后字符的ascii吗
    2008年5月23日 8:51
    版主
  • Asc(Right(soSubject, 1))=32

    我想应该就是空格。

     

    以下是我的代码:

    Code Snippet

    <asp:DropDownList ID="soSubject" runat="server">
                    <asp:ListItem Selected="True" Value="">选择科目</asp:ListItem>
                    <asp:ListItem Value="数学">数学</asp:ListItem>
                    <asp:ListItem Value="物理">物理</asp:ListItem>
                    <asp:ListItem Value="化学">化学</asp:ListItem>
                </asp:DropDownList>

     

     

     

    '--------------后台:

        Protected Sub btnSo1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSo1.Click
            Response.Redirect("../main/Studentmore.aspx?soSubject=" & (soSubject.Text).Trim() & " &soGrade=" & (soGrade.Text).Trim())
        End Sub

     

     

     

    '----------------------Studentmore.aspx.vb页面:

     

     

    soSubject = Request("soSubject")

            str = "select s.sid, b.pname, case s.ssex when 2 then '女' else '男' end as ssex, isnull(nullif(s.sarea,''),'---') as sarea," & _
            "isnull(nullif(s.grade,''),'---') as grade, isnull(nullif(s.schooltime,''),'---') as schooltime," & _
            "isnull(nullif(s.subject,''),'---') as subject,isnull(nullif(s.reward,''),'---') as reward" & _
            " from student as s, person_base as b" & _
            " where (s.flag=2 and s.flag_on=1 and s.puname = b.puname)"

            If soSubject <> "" Then
                str &= " and s.subject like '%" & soSubject & "%' "

            End If

     

     

     

     

    '----------------------最后获得字符串:

    select s.sid, b.pname, case s.ssex when 2 then '女' else '男' end as ssex, isnull(nullif(s.sarea,''),'---') as sarea,isnull(nullif(s.grade,''),'---') as grade, isnull(nullif(s.schooltime,''),'---') as schooltime,isnull(nullif(s.subject,''),'---') as subject,isnull(nullif(s.reward,''),'---') as reward from student as s, person_base as b where (s.flag=2 and s.flag_on=1 and s.puname = b.puname) and s.subject like '%数学 %'

     

     

     

     

    2008年5月23日 9:19
  •  

    知道了。

    我应该在接收参数的页面进行空格过滤。

     

    Code Snippet
    soSubject = trim(Request("soSubject"))

     

     

     

    不过,在传值过来时,地址里的参数值为什么会自动再附加一个空格呢?

    2008年5月23日 9:29
  • Code Snippet

    Response.Redirect("../main/Studentmore.aspx?soSubject=" & (soSubject.Text).Trim() & " &soGrade=" & (soGrade.Text).Trim())

     

     

    多了个空格
    2008年5月23日 9:44
    版主
  •  

    怎么可以这样!

    哎,我居然没有看来了,笨呆了!

    谢谢!

    不过,还是在接收页面过滤字符会保险以及安全些。

    应该在写一个过滤函数的。

    2008年5月23日 9:51