Gridview ItemTemplate の複数の評価フィールドに最適なテクニック?
-
09-06-2019 - |
質問
GridView ItemTemplate で複数の EVAL フィールドを使用する最良の方法は何ですか?
外観の書式設定やハイパーリンク/JavaScriptなどの設定を制御したいと考えています。
解決
IMO によれば、さらに明確なのは次のとおりです。
<%# String.Format("{0} - {1}", Eval("Name1"), Eval("Name2")) %>
他のヒント
私は以前これを使用していました(悪い、私は知っています):
<%# Eval("Name1", "{0} - ")%> <%#Eval("Name2")%>
結果 = 'ジョン - スミス'
しかし、同じデータバインドされたグループに 2 つ (またはそれ以上) の Eval を置くこともできることを発見しました。
<%#Eval("Name1") & " - " & Eval("Name2")%>
結果 = 'ジョン - スミス'
または
<%# "First Name - " & Eval("Name1") & ", Last Name - " & Eval("Name2")%>
結果 = '名 - ジョン、姓 - スミス'
Eval と Bind は両方とも最悪です。
なぜリフレクションを通じてプロパティを取得するのでしょうか?次のように直接アクセスできます。
((MyObject)Container.DataItem).MyProperty
実行時にそのオブジェクトが未知であるわけではありません。とにかく、それは私の2セントです。
これと同じことを行う最も簡単な方法があります...
<asp:Label ID="lblName" runat="server" Text='<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>'></asp:Label>
.
<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>
ここでは、両方のオブジェクトが文字列に変換されて連結されます。
所属していません StackOverflow