Я создаю несколько LinkButtons динамически на странице ASP с помощью MasterPage. В отдельном файле JavaScript у меня есть функция JS, которая меняет текст LinkButton при нажатии, то есть «Да» на «Нет» и наоборот. Это своего рода кнопка «Мне нравится». Поэтому обязательно, чтобы страница оставалась неподвижной, когда люди щелкают по LinkButton (будет раздражать, если нет). Метод C# с параметрами должен выполняться при нажатии LinkButton.Вызов метода C# (используя PageMethod) из LinkButton без обратной передачи (сайт MasterPage)
добавить это свойство щелчок на LinkButton, чтобы использовать метод, который находится в отдельном C# класса файла:
MyLinkButton.Click += (sender, e) => { MyClass.MyClick(par1, par2); };
Но дело в том, что если я добавить следующее свойство, чтобы предотвратить постбэк и сохранить нет страницы статические, когда LinkButton щелкают:
MyLinkButton.Attributes.Add("href", "javascript:;");
Он больше не работает метод MyClick в файле MyClass.
Таким образом, я попытался вызвать метод MyClick из кода JS, который меняет «Да» на «Нет» при нажатии с помощью PageMethod.
В MyClass я добавил: ссылку на System.Web.Services и положить [WebMethod] выше метода государственной статической силы MyClick(). Также добавлен ScriptManager в мой файл MasterPage внутри тела/формы и задан атрибут EnablePageMethods = "true".
Проблема заключается в том, с или без («HREF», «JavaScript :;») атрибут установлен на LinkButton, то PageMethod не вызывая метод MyClick в файле MyClass. Я попытался следующие два способа:
PageMethods.MyClick(par1, par2)
и
PageMethods.MyClass.MyClick(par1, par2)
И оба не инициирующие метод. Я ценю любые комментарии или предложения.
добавить [WebMethod] только для метода. –
Прочтите мое сообщение более тщательно, это уже сделано. – user