Как вызвать функцию codebehind без обратной передачи с помощью ajax - PullRequest
0 голосов
/ 23 марта 2011

У меня есть контроллер:

<asp:Button OnClick="MyFunction" runat="server" />

Я хочу иметь возможность вызывать MyFunction без перезагрузки страницы.Это возможно с AJAX или что-то?Если так, как бы я это сделал?

Ответы [ 6 ]

1 голос
/ 28 августа 2011

Вам необходимо скачать Ajax Extensions и установить его.

После того, как вы сделаете это место вместо <asp:Button OnClick="MyFunction" runat="server" />, следующая

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="Button1" runat="server" Text="Your Text" OnClick="MyFunction" />
        </ContentTemplate>
    </asp:UpdatePanel>

MyFunction будет функцией ac # / vb, записанной на вашей странице за кодом, а не функцией javascript.Я уточнил это, потому что я видел много ошибок, которые люди делают в отношении этого.Атрибут OnClick предназначен для функции c # / vb, а OnClientClick для функции javascript.

Для получения дополнительной информации о том, как добавить функциональность ajax на страницу ASP .NET, перейдите по ссылке здесь

1 голос
/ 23 марта 2011

Один из вариантов - использовать методы страницы .

Добавить статический метод на свою страницу, украшенный атрибутом WebMethod:

[WebMethod]
public static void MyMethod(string someParam) 
{
}

Включите методы страницы в вашем ScriptManager:

<asp:ScriptManager EnablePageMethods="True" ... />

И затем вы можете вызывать его со стороны клиента, используя JavaScript (который можно подключить к событию OnClientClickвашей кнопки):

PageMethods.MyMethod("some value", successCallback, errorCallback);

Подробнее см. в разделе «Вызов статических методов на веб-странице ASP.NET» на этой странице: http://msdn.microsoft.com/en-us/library/bb398998.aspx

1 голос
/ 23 марта 2011

Оформление учебных видеороликов ASP.Net. Должен охватывать большинство, если не все ваши вопросы.

Видео AJAX: официальный сайт Microsoft ASP.NET

0 голосов
/ 23 марта 2011
<asp:Button runat="server" ID="btnShowModal" Text="Show" 
     OnClick="btnShowModal_Click" /> 
<asp:Button runat="server" ID="HiddenForModal" style="display: none" />
<ajaxToolKit:ModalPopupExtender ID="Modal1" runat="server" 
     TargetControlID="HiddenForModal" PopupControlID="PopupPanel" />......it may help u
0 голосов
/ 23 марта 2011

Да, вы можете использовать сетевые обратные вызовы на стороне клиента с Asp.net Ajax, используя эту функцию, вы можете вызывать свой код за методами без перезагрузки страницы.Чтобы использовать эти методы, вы должны написать свои методы как статический тип.

Вы можете сослаться на это видео

http://www.asp.net/ajax/videos/how-do-i-make-client-side-network-callbacks-with-aspnet-ajax

У вас есть еще один вариант использования jQuery Ajax.

0 голосов
/ 23 марта 2011

Самый простой способ - деформировать код с помощью UpdatePanel

. Есть много примеров, если вы Google его .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...