أفضل تقنية لحقول التقييم المتعددة في Gridview ItemTemplate؟
-
09-06-2019 - |
سؤال
ما هي أفضل طريقة لاستخدام حقول EVAL متعددة في GridView ItemTemplate؟
هل ترغب في الحصول على بعض التحكم في تنسيق المظهر بالإضافة إلى إعداد الارتباطات التشعبية/جافا سكريبت وما إلى ذلك.
المحلول
والأمر الأكثر وضوحًا، IMO، هو:
<%# String.Format("{0} - {1}", Eval("Name1"), Eval("Name2")) %>
نصائح أخرى
لقد استخدمت هذا سابقًا (أعلم أنه سيء):
<%# Eval("Name1", "{0} - ")%> <%#Eval("Name2")%>
النتيجة = 'جون - سميث'
لكنني اكتشفت للتو أنه يمكنني أيضًا وضع تقييمين (أو أكثر) في نفس المجموعة المرتبطة بالبيانات:
<%#Eval("Name1") & " - " & Eval("Name2")%>
النتيجة = 'جون - سميث'
أو
<%# "First Name - " & Eval("Name1") & ", Last Name - " & Eval("Name2")%>
النتيجة = 'الاسم الأول - جون، الاسم الأخير - سميث'
كل من Eval و Bind سيئان.
لماذا الحصول على الملكية من خلال التفكير؟يمكنك الوصول إليه مباشرة مثل هذا:
((MyObject)Container.DataItem).MyProperty
ليس الأمر وكأن الكائن غير معروف لك في وقت التشغيل.هذا هو سنتي، على أي حال.
لدي أسهل طريقة للقيام بنفس الشيء ...
<asp:Label ID="lblName" runat="server" Text='<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>'></asp:Label>
.
<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>
هنا يتم تحويل كلا الكائنين إلى سلسلة يتم تسلسلهما.
لا تنتمي إلى StackOverflow