سؤال

وأريد أن أسأل سؤالا حول كيفية القيام الترحيل في ASP.net الترميز مع C #.

والشيء أحاول القيام به هو أن، أريد أن عرض بعض المحتويات، ولها عمود متعددة والصفوف المتعددة.

وفي الترميز في الواقع، ولدي قائمة من وجوه، دعونا نقول كائن A

class A {
   integer id;
   string name;
   string desc;
}

وترغب في عرض هذا على الصفحة مع وظيفة pagable.

وأفعل البحث جوجل، ASP.net عرض gridview وListView الذي ولكنها جميعا تحتاج إلى مصدر بيانات، وهو الأمر الذي يعني أن الجدول ربط مباشرة إلى قاعدة البيانات.

وليس هذا ما أريد، كوز قائمتي من وجوه A تأتي من بعض مكان آخر، وليس من قاعدة البيانات الخاصة بي (على سبيل المثال هي مجموعة مركبة من البيانات، التي تولد في وقت التشغيل)

لذلك هناك على أية حال أنا لا يزال يمكن استخدام تلك المكون ينفع، أو لا بد لي من أن تفعل كل شيء لوحدي لترحيل ؟؟؟

وتشك

هل كانت مفيدة؟

المحلول

وخاصية مصدر البيانات لن يقبل أيضا List<> أو BindingList<>.

لاستخدام هذا في التعليمات البرمجية:

protected void Page_Load(object sender, EventArgs e)
{
    var data = new List<Sample>();
    data.Add (...);

    GridView1.DataSource = data;
    GridView1.DataBind();
}

وربما بعض IsPostback المنطق الخ.

نصائح أخرى

ونصيحتي هي استخدام GridView، والتي يمكنك استخدام ObjectDataSource، والتي يمكن أن تأخذ بياناتها الأساسية من أسلوب فئة التي تحددها. لذلك قد يكون أسلوب فئة (المثال التالي التعليمات البرمجية الخاصة بك):

public static List<A> GetAllAs()
{
    return myAs;
}

وصفحة aspx بك سيتضمن

<asp:ObjectDataSource ID="MyODS" runat="server" TypeName="Namespace.Classname" SelectMethod="GetAllAs" />

<asp:GridView ID="grdMyGridView" runat="server" DataSourceID="MyODS" AllowPaging="True" ... >

ووTypeName وSelectMethod سمات ObjectDataSource تقول انها الطريقة التي، وأين، لاستخدامها لتعبئة المواد المستنفدة للأوزون مع البيانات. وAllowPaging="True" يمنحك ترحيل على GridView تلقائيا.

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