Leia o resultado de um Pagemethod em um JQuery-Script
-
19-09-2019 - |
Pergunta
Eu sou um novato no jQuery e tento ler o resultado de um método de Pagemeth no meu script jQuery. Eu tenho um scriptManager instalado e o seguinte webMethod:
[WebMethod(EnableSession = true)]
public static string CheckSystemDefault(string _id)
{
int id = Convert.ToInt16(_id);
addressTypeRepository = new AddressTypeRepository();
AddressType addressType = addressTypeRepository.GetById(id);
if (addressType.IsSystemDefault == true)
return "IsSystemDefault";
else
return "IsNotSystemDefault";
}
Eu uso isso para verificar se um objeto possui a propriedade ISSystemDefault.
No script, entrego o ID do URL e quero avaliar o resultado:
var id = $(document).getUrlParam("id");
var check = PageMethods.CheckSystemDefault(id);
if (check == "IsSystemDefault") {
...
}
if (check == "IsNotSystemDefault") {
...
}
Mas, como resultado, a variável "verificação" é indefinida. O que eu tenho que mudar?
Solução 2
A sintaxe no meu JQuery-Script não estava correta.
Tem que ser o seguinte:
<script type="text/javascript">
jQuery(document).ready(function() {
var id = $(document).getUrlParam("id");
PageMethods.CheckSystemDefault(id, function(result) {
if (result == "IsSystemDefault")
// do something
else
// do something
});
});
</script>
Outras dicas
Você deve ativar métodos de página no gerenciador de scripts. Você especificou enablepageMethods = "true" no elemento gerente de scripts como mostra o último atributo abaixo?
<ajaxToolkit:ToolkitScriptManager runat="Server"
EnableScriptGlobalization="true"
EnableScriptLocalization="true"
ID="ScriptManager1"
EnablePageMethods="true"/>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow