2017-09-18 1 views
0

Désolé à l'avance pour le mauvais titre!asp.net C# Afficher quelques caractères dans gridview lien

J'ai un gridview où j'utiliser sqldatasource

Le gridview a une lettre de couverture appelée champ et il est un bouton de lien Le titre du bouton de lien est une vue lettre

enter image description here

<ItemTemplate> 
<asp:LinkButton ID="cat" runat="server" CommandName="cat" CommandArgument='<%# Bind("Id") %>' >View Cover Letter</asp:LinkButton> 
</ItemTemplate> 

quand je clique sur la lettre de motivation vue lien dans une nouvelle fenêtre pop-up affichant le contenu de la lettre de motivation

enter image description here

Maintenant, ce que je veux faire est de changer le texte du bouton de lien de View Lettre d'accompagnement de sorte qu'il affiche comme les 10 premiers ou 20 caractères de la lettre de motivation et quand je clique sur le lien, il affichera le contenu complet de la lettre d'accompagnement dans la nouvelle fenêtre.

donc ce sera quelque chose comme ceci:

enter image description here

Comment puis-je faire une telle chose?

+0

dans le format que vous enregistrez la lettre de motivation est-ce pdf ou un mot ou vous enregistrez dans db? – Nirzar

+0

Il est sauvegardé dans la base de données –

+0

vous pouvez essayer 'Text =" Eval ("coverLetter"). ToString(). Substring (0,20) "' en tant qu'attribut pour lier le texte pour le bouton de lien – Nirzar

Répondre

1

Donc, votre code sera comme

<ItemTemplate> <asp:LinkButton ID="cat" runat="server" CommandName="cat" CommandArgument='<%# Bind("Id") %>' Text='<%#Eval("coverLetter").ToString().Substring(0,20)%>'>View Cover Letter</asp:LinkButton> </ItemTemplate>

1

Vous pouvez utiliser ceci: Mais assurez-vous que vous avez un certain contenu dans le contenu de votre lettre de motivation .. qui était la raison pour laquelle vous obtenez l'erreur.

 <asp:TemplateField HeaderText="Cover Letter"> 
     <ItemTemplate> 
      <a href='../Pages/CoverLetter.aspx?ID=<%# Eval("cover_id")%>' target="_blank" style="color: blue; text-decoration: underline"><%# Eval("cover_content").ToString().Length>10 ? Eval("cover_content").ToString().Substring(0,10):Eval("cover_content")%></a> 
      </ItemTemplate> 
</asp:TemplateField> 
+0

Il donne cette erreur System.ArgumentOutOfRangeException a eu lieu HResult = 0x80131502 message = index et la longueur doit se référer à un emplacement dans la chaîne. Nom du paramètre: longueur Source = mscorlib StackTrace: à System.String.Substring (Int32 startIndex, longueur Int32) à ASP.pages_applied_aspx .__ DataBind__control60 (Object sender, EventArgs e) dans D: \ rek \ HR_system \ applyForOmicron \ pages \ applied.aspx: ligne 95 –

+0

quand il donne une erreur? sur databind()? – Sak

+0

oui sur databind @Sak –