2010-10-26 28 views
0

J'ai créé une fonction pour tronquer une chaîne dans le code derrière le fichier. Mais comment l'utiliser dans le fichier aspx?Tuncate chaîne dans ASP.NET en utilisant VB.NET

C'est la zone de texte:

<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> 

Et ceci est ma fonction:

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 

Répondre

1

Ce n'est pas une question de comment à utiliser, mais en fait quand à l'utiliser?

Si vous avez eu une période régulière, vous pouvez le faire:

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

Mais ceci est un TextBox votre affaire (entrée utilisateur).

Lorsque doit-il être tronqué?

Sur formulaire Soumettre? (Cela aurait du sens)

À mesure qu'ils tapent (eh bien, vous devez utiliser JavaScript).

Par l'apparence de votre code snipper, vous utilisez un FormView.

Donc je ne l'appellerais pas de l'ASPX (ce qui équivaut à exécuter du code pendant le rendu de page), je l'appellerais pendant l'événement Edit/Submit, gestionnaire d'événements côté serveur. En d'autres termes, tronquez la valeur de l'utilisateur, après avoir soumis le formulaire et avant de persister dans la base de données.

+0

L'extrait publié ne fonctionnera pas. Vous ne pouvez pas utiliser '<%%>' (blocs de code) dans un contrôle côté serveur. – Oded

+0

En fait, je ne devrais pas être tronqué quand ils le 'voient'. J'ai édité mon premier post. oublié de coller le modèle complet – Yustme

+0

@Oded - mon mauvais, mis à jour. – RPM1984