تحويل لآسيا والمحيط الهادئ: ButtonField لآسيا والمحيط الهادئ: TemplateField في عنصر تحكم GridView

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

سؤال

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

<asp:TemplateField HeaderText="Action">
    <ItemStyle HorizontalAlign="Center" />
        <ItemTemplate>
            <asp:LinkButton CommandName="myaction" CommandArgument="<%#Eval("id")%>" Text="do action" runat="server"/>
        </ItemTemplate>
 </asp:TemplateField>

ومشكلتي هي مع السمة CommandArgument - أنا لا أعرف كيفية الحصول عليها أن يكون معرف صف من GridView. وحدة التقييم ( "ID") لا يعمل - لا أحد يعرف ما اسم الخاصية الصف هو معرف؟ أو طريقة أفضل للقيام بذلك؟

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

المحلول

وتحقق من هذه الوثيقة على موقع مايكروسوفت.

HTTP: // MSDN .microsoft.com / EN-US / مكتبة / system.web.ui.webcontrols.gridview.rowcommand.aspx

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

وأعتقد أن ما أحاول أن أقوله هو هوية الصف الضمني. عند الوصول إلى CommandArgs الحدث ينبغي أن يكون عن شيء محدد إلى الحدث الذي تحاول رفع.

وأي بمعنى. إذا أردت الصفحة، وكنت قد "المقبلة"، "سابق"، "الأول"، "آخر" أو رقم الصفحة في CommandArgument.

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

نصائح أخرى

CommandArgument="<%# CType(Container, GridViewRow).RowIndex %>"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top