سؤال

أنا أستخدم ObjectDataSource لربط البيانات إلى GridView؛ إنه يعمل بشكل جيد إلا أنه يخلق دائما كائنا جديدا لاستخدامه كصور بيانات. يمكنني أن أفعل كل الإعداد بشكل جيد فقط ولكن لا يمكنني استخدام مثيل كائن موجود لتحديد "مصدر البيانات" لذلك. هل من الممكن القيام بذلك؟ إذا كان الأمر كذلك، كيف؟

إذا لم يكن ذلك ممكنا، لماذا؟

تحرير: إليك GIST من ما يحدث (أنواع الكائنات التي تم تغييرها): في الصفحة الأولى، تقوم بإدخال السمات للكلب. واحدة من السمات "قد جرو" وإذا كان ذلك صحيحا، فإن الصفحة التالية تحدد أسماء تلك الجراء. ما يحدث في حالتي هو أن هذه الجراء لا يتم ربطها بالكلب الأصلي ولكن إلى كلب "جديد". (التضمين أن مشكلتي هي "كلب" أنثى "كان مقتدا. ؛-))

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

المحلول

قم بإنشاء معالج حدث لحدث ObjectCreating على ObjectDataSource.

يمكنك تعيين المثيل لاستخدام خاصية ObjectDatasourceEventargs

protected void ObjectDataSource1_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
    e.ObjectInstance = myObject;
}

سلك هذا الحدث يصل في العلامة أيضا

<asp:ObjectDataSource OnObjectCreating="ObjectDataSource1_ObjectCreating" />

نصائح أخرى

كما اكتشفت للتو في سؤالي هنا، ستذهب العناصر المخزنة في ذاكرة التخزين المؤقت للتطبيق كمرجع للاستخدام. قد تفكر في تخزين بياناتك هناك (أو يحتمل أن تكون في الجلسة كذلك) وتمرير العناصر بهذه الطريقة.

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