我的 Windows窗体应用程序中有一个名为 CefSharp 的嵌入式chrome客户端。在应用程序启动时,我使用c#中的以下语句从项目资源中加载 cefsharp 中的网页:
web_view.LoadHtml(File.ReadAllText(@".\HelloPage.html"), @".\HelloPage.html");
页面加载成功。现在我在网页上有一个按钮,我想导航到使用 jquery-mobile 设计的另一个页面,并添加到此按钮的click事件的项目资源中。我的网页上有一个按钮和链接,可以加载另外一个页面,如下所示:
<a id="myLink" class="ui-btn ui-corner-all ui-shadow ui-mini" href="Page2.html" >Rollout</a>
<button type="submit" id="submitData" runat="server" onclick="Page3.html;" class="ui-shadow ui-btn ui-corner-all ui-mini">Submit</button>
上述两个事件都给我错误加载页面。我尝试了另一种技术来从javascript调用 c#方法并调用加载我的页面在该方法中,但无法实现。任何人都可以帮助我。这是我在c#上的第一个项目。我想知道我在哪里做错了,或者我有什么其他选择才能让它发挥作用。在此先感谢。
答案 0 :(得分:4)
老兄,它距离很远。 我建议您在网页(本地或远程托管)中运行您的代码。上面的代码:
onclick="Page3.html;"
不会工作得非常好。尝试在onclick中引用js函数,重点是 - 首先获得一个工作网页 - 最好是引用外部资源,如js文件和css样式表。
然后你可以看看cef包装。通常,您需要将Web资产设置为嵌入式资源,并使用
访问它们Assembly.GetManifestResourceStream
但你还有很长的路要走。首先关注网页。
答案 1 :(得分:0)
改变这一点;
<button type="submit" id="submitData" runat="server" onclick="window.location.href='Page3.html';" class="ui-shadow ui-btn ui-corner-all ui-mini">Submit</button>