أفضل تقنية لحقول التقييم المتعددة في Gridview ItemTemplate؟

StackOverflow https://stackoverflow.com/questions/55607

سؤال

ما هي أفضل طريقة لاستخدام حقول 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() %>

هنا يتم تحويل كلا الكائنين إلى سلسلة يتم تسلسلهما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top