2017-09-18 8 views
0

悪いタイトルを事前に申し訳ありません!asp.net c#グリッドビューのハイパーリンクに少数の文字を表示

私はgridviewは、フィールドと呼ばれるカバーレターを持っており、それがリンクボタンのタイトルがビューカバーレター

enter image description here

<ItemTemplate> 
<asp:LinkButton ID="cat" runat="server" CommandName="cat" CommandArgument='<%# Bind("Id") %>' >View Cover Letter</asp:LinkButton> 
</ItemTemplate> 
ある リンクボタンです sqldatasource

を使用gridviewを持っています

ビュー・カバー・レター・リンクをクリックすると、カバー・レターの内容を表示する新しいウィンドウ・ポップアップ

enter image description here

今私が何をしたいのか、それがカバーレターの最初の10個のまたは20文字のように表示し、リンク上で私をクリックしたときに、それが表示されますので、表示カバーレターからのリンクボタンのテキストを変更で新しいウィンドウでカバーレターの完全な内容。

ので、このようなものになります。私はそんなことをどのように行うことができます

enter image description here

+0

のようになりますが、それは、PDFやワードであるか、デシベルでそれを保存していますか? – Nirzar

+0

これはデータベースに保存されています –

+0

あなたは 'Text =" Eval( "coverLetter")を試すことができますToString()。リンクボタンのテキストをバインドする属性としてサブストリング(0,20) "' – Nirzar

答えて

1

だからあなたのコードは、あなたがカバーレターを保存しているフォーマットで

<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

あなたはこれを使うことができます:しかし、カバーレターの内容にいくつかの内容が含まれていることを確認してください。これが原因でエラーになります。

 <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

それはSystem.ArgumentOutOfRangeExceptionが、文字列内の場所を参照しなければなりません HRESULT = 0x80131502 メッセージ=インデックスと長さを発生 このエラーになります。 パラメータ名:DにおけるASP.pages_applied_aspx .__ DataBind__control60(オブジェクト送信者、のEventArgs電子)でSystem.String.Substring(のInt32のstartIndex、のInt32の長さ)で :長 ソース= mscorlib のStackTrace \ REK \ HR_system \ applyForOmicron \ pages \ applied.aspx:行95 –

+0

エラーが発生したら? on databind()? – Sak

+0

yes on databind @Sak –

関連する問題