Pergunta

Eu estou usando métodos de página ASP.NET para a minha candidatura. Tudo funciona como charme, mas eu não quero que meus métodos de página gerado em linha na página.

  1. Existe alguma maneira para movê-los para um arquivo WebResource.axd ou algo similar. Eu realmente não quero escrever meu próprio procurador apenas para mover o gerado fora da página.

  2. Eu tenho vários métodos de página em minha página base. Existe uma maneira de dizer o gerente de script que métodos que deseja incluir para a página específica como eu não estou usando todos os métodos em todas as páginas?

Foi útil?

Solução

Eu tenho vários métodos de página no meu página base. Existe uma maneira de dizer o gerente de script que métodos que eu quero incluído para a página específica como eu Não estou usando todos os métodos em todas as páginas?

Eu não tenho certeza se isso é possível. O que eu faria em seguida, porém, é para mover seus métodos que são específicos para uma determinada página na própria página real e não na página de base.

O que você poderia fazer é usar webservices ASMX em vez de usar métodos de página para acessar a lógica do lado do servidor a partir do JavaScript.

[System.Web.Script.Services.ScriptService]
public class MyWebService
{

   [WebMethod]
   public string GetData(int id)
   {
      //do some work
      //return result
   }

}

Em seu aspx ou ascx código que você faça o seguinte:

function someFunction(){
   WebServiceNamespace.MyWebService.GetData(123, onSuccessCallback, onErrorCallback);
}

function onSuccessCallback(result){
   //process your result. Usually it is encoded as JSON string
   //Sys.Serialization.JavaScriptSerializer.deserialize(...) can be used for deserializing
}

function onErrorCallback(){
   //display some info
}

Você teria que olhar sobre a forma como o objeto de voltar do seu webservice é codificada. Normalmente ela é codificada como Json. Não me lembro agora se este tem de ser especificado explicitamente em seu web.config.

// Edit:
O que eu esqueci. Você pode usar o asp.net ScriptManager para registrar seus scripts e serviços web:

<asp:ScriptManager ID="ScriptManager1" runat="server">
   <Scripts>
      <asp:ScriptReference Path="~/scripts/WebServiceScripts.js" />
   </Scripts>
   <Services>
      <asp:ServiceReference Path="~/Services/MyWebService.asmx" />
   </Services>
</asp:ScriptManager>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top