Javascript 加载ASP网站检索并重定向C中的a href#

Javascript 加载ASP网站检索并重定向C中的a href#,javascript,c#,html,asp.net,Javascript,C#,Html,Asp.net,我正在做我的第一个外接程序Outlook。我想在表单中加载ASP网站,并使用标记中的href重定向。没有特定的id来仅标识的值。见下文。谢谢,这是事先准备好的 <li class="rmItem "> <a class="rmLink rmSelected" style="width: 194px;" href="javascript:Goto('DM_NEW_OBJECT.ASPX?DM_CAT_ID=2171&amp;DM_PARENT_ID=254769&

我正在做我的第一个外接程序Outlook。我想在表单中加载ASP网站,并使用
  • 标记中的
    href
    重定向。没有特定的id来仅标识
    的值。见下文。谢谢,这是事先准备好的

    <li class="rmItem ">
    <a class="rmLink rmSelected" style="width: 194px;" href="javascript:Goto('DM_NEW_OBJECT.ASPX?DM_CAT_ID=2171&amp;DM_PARENT_ID=254769&amp;INPUTSELECTION=&amp;DM_OBJECT_ID=0&amp;PACK_ID=0&amp;CASE_ID=0&amp;mode=0&amp;SITE=Default');">
    <span class="rmText">Dossier protection</span>
    </a>
    </li>
    

  • 您可以将自己附加到DocumentCompleted事件,当文档完全加载时会触发该事件,然后您可以用类似的方式搜索DOM

    首先,将事件处理程序添加到构造函数内的DocumentCompleted事件中,并在窗体关闭时删除事件处理程序

    在load事件中,您可以导航到所需页面,然后在DOM中搜索所有li,然后检查所需的文本。如果匹配,搜索URL,然后调用click事件(这将触发javascript Goto函数)


    你需要什么帮助?检索href还是重定向?哪种类型的控件用于重定向?我需要C语言中的帮助来执行从到这个“javascript:Goto(DM_NEW_OBJECT.ASPX?DM_CAT_ID=2171&;DM_PARENT_ID=254769&;INPUTSELECTION=&;DM_OBJECT_ID=0&;PACK_ID=0&;CASE_ID=0&;mode=0&;SITE=Default);”控件是列表中的一个元素,当您单击时,您将被重定向到一个新页面是的,我得到了,我的问题是您是否可以指定您正在使用的组件,您正在为哪个outlook设计,以及javascript、html和asp.net标记与outlook插件有什么关系?此外,javascript链接中没有指定基本url,因此无法知道需要转到哪个服务器。你问的问题是,如何尽可能详细说明,这样我们就不必问……在C#中,我有一个From。在我的表格中,我添加了一个WebBrowser。我使用方法
    WebBrowser.Navigate(“myUrl”)
    加载url。现在我想通过javascript调用自动重定向。我的问题是:是否有可能在C#中启动此javascript?如何启动?或者我必须要求我的应用程序“按下”按钮(但为此我需要检索按钮)?感谢您的回复。没用,我不知道为什么。我调试hem,他不介入
    foreach(HtmlElement中的htmlElem)
    这是我元素的结构:
    html>body>form>div>table>tbody>tr>td>div>table>tbody>tr>td>div>ul>li>div>ul>a>span
    我更新代码以使用DocumentCompleted事件而不是导航事件…谢谢!!!还有一些事情需要解决,但我认为这是个好办法。我会设法的。谢谢你抽出时间。
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            webBrowser1.DocumentCompleted += OnPageCompleted;
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.Navigate(Path.Combine(Environment.CurrentDirectory, "DemoPage.html"));
        }
    
        protected virtual void OnPageCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (webBrowser1.Document == null)
            {
                return;
            }
            if (webBrowser1.Document.Body == null)
            {
                return;
            }
            HtmlElementCollection col = webBrowser1.Document.Body.GetElementsByTagName("li");
            if (col == null || col.Count == 0)
            {
                return;
            }
            foreach (HtmlElement elem in col)
            {
                if (elem == null || string.IsNullOrWhiteSpace(elem.InnerHtml))
                {
                    continue;
                }
                var links = elem.GetElementsByTagName("a");
                if (links == null || links.Count == 0)
                {
                    continue;
                }
                foreach (HtmlElement url in links)
                {
                    if (url == null || string.IsNullOrWhiteSpace(url.InnerHtml))
                    {
                        continue;
                    }
                    try
                    {
                        url.InvokeMember("click");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.GetType().FullName + "\r\n" + ex.Message);
                    }
                }
            }
        }
    
        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            webBrowser1.DocumentCompleted -= OnPageCompleted;
        }
    }