genexusextensions | | | |
gmilano | |
Hola Nicolás, supongo estarás usando el control WebBrowser de C#.
En ese caso existe un evento que tenés que manejar para interceptar cuando
el browser va a navegar a una url.
Entonces tenés que en ese evento programar algo como lo siguiente, lo que
se hace es simplemente parsear la url, separar el comando y mandar a
ejecutar el comando dado.
using Artech.Architecture.Common;
using Artech.Common.Framework.Commands;
private void webBrowser1_Navigating(object sender,
WebBrowserNavigatingEventArgs e)
{
string kbPath;
IDictionary parms = new Dictionary();
if (UriHelper.Parse(e.Url, out kbPath, parms))
{
cancel = true;
CommandKey cmdKey = CommandKey.Empty;
object[] cmdParams = null;
if (parms.ContainsKey(UriHelper.CommandKey))
{
string[] commandKey = parms[UriHelper.CommandKey].Split(';');
if (commandKey.Length == 2)
{
cmdKey.Package = new Guid(commandKey[0]);
cmdKey.Name = commandKey[1];
cmdParams = new object[1];
cmdParams[0] = parms;
}
else
{
if (commandKey.Length == 1)
{
cmdKey.Package = Guid.Empty;
cmdKey.Name = commandKey[0];
cmdParams = new object[1];
cmdParams[0] = parms;
}
}
}
else
{
cmdKey = CommandKeys.Core.OpenKnowledgeBase;
cmdParams = new object[1] { url };
}
ICommandDispatcherService service = UIServices.CommandDispatcher;
if (service != null)
service.Dispatch(cmdKey, new CommandData(cmdParams));
}
}
Saludos,
Gastón
Gaston Milano
CTO | GeneXus
www.genexus.com
[image: GeneXus™]
On Thu, Jan 17, 2019 at 3:55 PM Nicolás Sanguinetti <
nsanguinetti19@gmail.com> |
|
|
|
|
Back to genexusextensions |
|