Chcę wywołać statyczne metody po stronie serwera z JS, więc zdecyduję się użyć kontroli ScriptManager na mojej stronie. więc mam stronę wzorcową, z taką strukturą:asp.net ScriptManager PageMethods jest niezdefiniowany
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="TopLevelMasterPage.Master.cs"
Inherits="Likedrive.MasterPages.TopLevelMasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="http://ogp.me/ns/fb#">
<head runat="server">
<title></title>
<script type="text/javascript">
function getGiftFileUrl() {
function OnSuccess(response) {
alert(response);
}
function OnError(error) {
alert(error);
}
PageMethods.GetGiftFileUrl("hero", 1024, 768, OnSuccess, OnError);
}
getGiftFileUrl();
</script>
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManagerMain"
runat="server"
EnablePageMethods="true"
ScriptMode="Release"
LoadScriptsBeforeUI="true">
</asp:ScriptManager>
<asp:ContentPlaceHolder ID="MainContent" runat="server">
</asp:ContentPlaceHolder>
</form>
</body>
</html>
Ale kiedy strona się ładuje, mam wyjątek JS - PageMethods jest niezdefiniowany. Przypuszczam, że obiekt zostanie utworzony niejawnie, więc mogę go używać w moim javascript.
jakiejkolwiek końcowej próbki z rozwiązaniem? lub zaznaczoną @vitorcanova odpowiedź. – Kiquenet