يقول زر ASP.NET أنه لا يمكن العثور على طريقة أضع في عند_النقر

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

سؤال

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

ورسالة خطأ مترجم:

وCS1061: 'ASP.adminpages_masterpages_adminsystem_master' does not contain a definition for 'ExtensionMethods' and no extension method 'ExtensionMethods' accepting a first argument of type 'ASP.adminpages_masterpages_adminsystem_master' could be found (are you missing a using directive or an assembly reference?)

وبلدي ExtensionMethods الدرجة:

namespace ExtensionMethods
{
    public static class MyExtensionMethods
    {
        public static void Logout(object sender, EventArgs e)
        {
               //Logout Code
        }
    }
}

وبلدي زر:

<asp:LinkButton runat="server" OnClick="ExtensionMethods.MyExtensionMethods.Logout" Text="Log Out"></asp:LinkButton>

والأفكار؟

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

المحلول

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

    <asp:LinkButton id="button1" runat="server" 
       OnClick="LinkButton_Click" Text="Log Out"></asp:LinkButton>

ورمز وراء:

   void LinkButton_Click(Object sender, EventArgs e) 
   {
      ExtensionMethods.MyExtensionMethods.Logout(sender, e);
   }

وتحقق من مرجعية لمزيد من الأمثلة: <لأ href = "http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.click.aspx" يختلط = "نوفولو noreferrer "> http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.click.aspx

نصائح أخرى

وينبغي أن يكون لديك معالج حدث حقا في الفئة صفحة ولا تكون ثابتة. ينبغي أن يكون، من الناحية المثالية، وحمايتها ولكن يمكن أن يكون العام.

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