سؤال

<ItemTemplate>
    <asp:Label runat="server"><%#DataBinder.Eval(Container.DataItem, "Question")%></asp:Label>
    <asp:DropDownList runat="server" id="<%#DataBinder.Eval(Container.DataItem, "QuestionID")%>">>
        <asp:ListItem value="1" text="Yes" />
        <asp:ListItem value="0" text="No" />
    </asp:DropDownList>
<ItemTemplate>

هذا تقريبا ما أحاول القيام به. من الواضح أن التنفيذ خاطئ، لكن لا يمكنني العثور على أي معلومات حول كيفية القيام بذلك في الممارسة العملية. أي مساعدة موضع تقدير.

تحرير: ما أحاول القيام به بالضبط هو إضافة قائمة هبوطية لكل عنصر في هذا المكرر، وعند تقديم النموذج، استخدم المعرف من كل نعم / لا إجابة للمدخل في قاعدة بيانات. يحتوي SQLDTARTATEADER أنني أستخدمه على حقلين: محتوى السؤال والسؤال.

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

المحلول

أعتقد أنك ستكون أفضل حالا باستخدام الدعم المدمج لمعرفات IDS داخل مكرر. إذا كان الهدف هو تعيينه معرفا لجعله من السهل العثور على التحكم الصحيح بعد أن تم ربط البيانات، فقد تجرب شيئا مثل هذا:

<asp:Repeater ID="Repeater1" runat="server>
    <ItemTemplate>
        <asp:Label ID="QuestionID" Visible="False" Runat="server"><%#DataBinder.Eval(Container.DataItem, "FieldContent")%></asp:Label>
        <asp:DropDownList ID="MyDropDownList" Runat="server"></asp:DropDownList>
    </ItemTemplate>
</asp:Repeater>

ثم، في الكود الخاص بك يمكنك حلقة من خلال العناصر الموجودة في المكرر حتى تجد التسمية التي تبحث عنها:

foreach (RepeaterItem curItem in Repeater1.Items)
{
    // Due to the way a Repeater works, these two controls are linked together.  The questionID
    // label that is found is in the same RepeaterItem as the DropDownList (and any other controls
    // you might find using curRow.FindControl)
    var questionID = curRow.FindControl("QuestionID") as Label;
    var myDropDownList = curRow.FindControl("MyDropDownList") as DropDownList;
}   

يتكون مكرر أساسا من مجموعة من الكريم. يتم تحديد RepeaterItems باستخدام علامة العنصر. يحتوي كل Repeateritem على مجموعة من عناصر التحكم الخاصة به التي هي، حسب طبيعة مكرر، المرتبطة ببعضها البعض.

قل أنك تسحب بيانات مكرر من قاعدة بيانات. يمثل كل عنصر مكرر بيانات من صف فردي في نتائج الاستعلام. لذلك إذا قمت بتعيين المفاجئ على التسمية واسم الاسكنات إلى قائمة الدخول المنسدلة، فإن المعرف الموجود في الملصق سيتطابق مع الاسم في القائمة المنسدلة.

نصائح أخرى

هل يمكنك إزالة عنصر التحكم من ملف العلامات، وربط الحدث OnItemDATAbound في هذا الحدث، يجب أن تكون قادرا على إنشاء عنصر تحكم المنسدل "يدويا"، وتعيين أي معرف تريده.

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