أفضل طريقة العرف تحرير السجلات في ASP.NET?

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

  •  08-06-2019
  •  | 
  •  

سؤال

أنا قادم من القضبان الخلفية و تعمل على ASP.NET المشروع (لا ASP MVC).مبتدئ السؤال:ما هي أسهل طريقة لجعل مخصص محرر الجدول من السجلات ؟

على سبيل المثال:لدي مجموعة من البيانات الصفوف تريد تغيير حقل "الفئة" على كل ربما المنسدلة, ربما الرابط ربما أنواع المستخدم في.

في القضبان ، أود أن تكرار عبر الصفوف لبناء الجدول ، و قد شكل لكل صف.شكل من شأنه أن يكون مدخلا أو مربع القائمة المنسدلة ، ثم إرسال البيانات إلى وحدة تحكم مثل "/البند/تحرير/15?الفئة=foo" أين 15 itemID الجديدة من الفئة "فو".

أنا جديدة على ASP.NET نموذج و لست متأكدا من "الحق" وسيلة للقيام بذلك فقط أبسط طريقة للحصول على العودة إلى البيانات الجديدة وحفظ تشغيله.وأود أن جعل التحكم المخصصة وإلحاقها إلى كل الصف ؟ أي مساعدة تقدير.

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

المحلول

يمكنك حقا الغش في الوقت الحاضر و نلقي نظرة خاطفة على البيانات الحيوية الجديدة التي تأتي مع .NET FRAMEWORK 3.5 المزود بحزمة الخدمة SP1.سكوت غوثري لديه بلوق دخول demoing على كيفية سريعة وسهلة سوف تتدفق لك هنا:

http://weblogs.asp.net/scottgu/archive/2007/12/14/new-asp-net-dynamic-data-support.aspx

بدون الحصول على قطع الحافة ، كنت تستخدم XSD مولد لتوليد بقوة كتابة البيانات التي تتزامن مع الجدول في السؤال.هذا سوف أيضا توليد TableAdapter يمكنك استخدامها للقيام كل ما تبذلونه من البيانات الخام.

من هناك ربط DataGrid و الاستفادة من كل القوالب القياسية/الأحداث المشاركة في مثل EditIndex, SelectedIndex, RowEditing, RowUpdated ، إلخ.

لقد كنت أفعل هذا منذ وقت مبكر 1.0 أيام .صافي و هذا النوع من الوظائف حصلت فقط أكثر و أكثر تنظيما مع كل تحديث الإطار.

تحرير:أريد أن أعطي إشارة سريعة إلى مات Berseth بلوق كذلك.لقد تم بعد الكثير من الأشياء لفترة من الوقت الآن هو عظيم!

نصائح أخرى

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

الطريقة التقليدية إلى القيام بذلك من شأنه أن يكون عنصر التحكم DataGrid ، الذي يتيح لك تخطيط الجدول.إذا كنت تريد شيئا مع المزيد من المرونة في المظهر ، DataList و ListView الضوابط أيضا قد بنيت في دعم التحرير ، إدراج أو حذف الحقول أيضا.

تحقق من مات Berseth بلوق بعض أمثلة ممتازة asp.net ضوابط في العمل.

شكرا على إجابات الرجال.يبدو أن تخصيص DataGrid هو الطريق للذهاب.أي ASP.NET نوبي ، هذا ما أفعله

<asp:DataGrid ID="GridView1" runat="server" AutoGenerateColumns="False">
    <Columns>
        <asp:BoundColumn DataField="RuleID" Visible="False" HeaderText="RuleID"></asp:BoundColumn>
        <asp:TemplateColumn HeaderText="Category">
        <ItemTemplate>
            <!-- in case we want to display an image -->
            <asp:Literal ID="litImage" runat="server">
            </asp:Literal>
            <asp:DropDownList ID="categoryListDropdown" runat="server"></asp:DropDownList>
         </ItemTemplate>
        </asp:TemplateColumn>

    </Columns>
</asp:DataGrid>

وهذا يخلق datagrid.ثم يمكننا ربط مصدر البيانات (DataTable في حالتي) و استخدام أشياء مثل

foreach (DataGridItem item in this.GridView1.Items)
{
     DropDownList categoryListDropdown = ((DropDownList)item.FindControl("categoryListDropdown"));
     categoryListDropdown.Items.AddRange(listItems.ToArray());
}

لملء الأولي المنسدلة في شبكة البيانات.يمكنك أيضا الوصول إلى هذا البند.الخلايا[0].نص على القاعدة في هذه الحالة.

ملاحظات عن نفسي:على ASP.NET نموذج يفعل كل شيء في codebehind الملف.على مستوى عال يمكنك دائما تكرار خلال GridView1.البنود للحصول على كل صف ، البند.findControl("ControlID") للاستعلام القيمة المخزنة في كل بند ، مثل بعد الضغط على زر "تحديث".

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