【问题标题】:Tuncate string in ASP.NET using VB.NET使用 VB.NET 在 ASP.NET 中截断字符串
【发布时间】:2010-10-26 11:21:18
【问题描述】:

我创建了一个函数来截断代码隐藏文件中的字符串。但是如何在aspx文件中使用呢?

这是文本框:

<asp:TemplateField HeaderText="page" HeaderStyle-Wrap="true">
    <ItemTemplate>
        <a href='<%# makepageURL( Eval("page") )%> '>
            <%# Eval("page")%>
        </a>
    </ItemTemplate>
    <EditItemTemplate>
        <asp:TextBox ID="txtpage" TextMode="SingleLine" Rows="1" Width="100%" runat="server" Text='<% #Bind("page") %>' />
    </EditItemTemplate>
</asp:TemplateField>

这是我的功能:

Public Function TrimString(ByVal Value As String, ByVal Length As Integer) As String
    If Value.Length > 20 Then
        Return Value.Substring(Value.Length - (20 - 3)) + "..."
    End If

    Return Value   
End Function

【问题讨论】:

    标签: asp.net vb.net string truncate


    【解决方案1】:

    这不是如何使用它的问题,而是什么时候使用它的问题?

    如果你有一个常规跨度,你可以这样做:

    <span><%: TrimString("somestring") %></span>
    

    但这是您处理(用户输入)的文本框

    何时应该截断?

    提交表单? (这是有道理的)。

    在他们键入时(那么您需要使用 JavaScript)。

    从你的代码截图来看,你使用的是 FormView。

    所以我不会从 ASPX 调用它(相当于在页面呈现期间执行代码),我会在编辑/提交事件、服务器端事件处理程序期间调用它。

    换句话说,在用户提交表单之后,在您持久保存到数据库之前,截断用户输入的值。

    【讨论】:

    • 发布的 sn-p 将工作。您不能在服务器端控件中使用&lt;%%&gt;(代码块)。
    • 实际上,当他们“查看”它时,我应该被截断。我编辑了我的第一篇文章。忘记粘贴完整的模板
    • @Yustme - 我有一段时间没有使用 FormView,但假设您在后面的代码中有一个 DataBind 事件?你不能在数据绑定时截断每一行吗?
    • 好的,请告诉我们您的进展情况 - 如果有帮助,请不要忘记将其标记为正确答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多