I want to execute a function in HTML through C# but I get an error.
Since there is a map inside the webbrowser, I can't leave out the "Navigate" function.
javascript
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="initial-scale=1.0,user-scalable=no">
<script>
function CallScrript(va1, va2)
{
alert('Val1 : ' + val1 + ' / Val2 : ' + val2);
}
</script>
</head>
<body>
</body>
</html>
C# code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.webBrowser1.Navigate("http://1xx.xxx.xxx.xxx/test.html");
ExecJavascript("abc", "bcd");
}
private void ExecJavascript(string sValue1, string sValue2)
{
try
{
webBrowser1.Document.InvokeScript("CallScript", new object[] { sValue1, sValue2 });
}
catch(Exception e)
{
MessageBox.Show(e.ToString());
}
}
}
}
Error message:
system.nullreferenceexception object reference not set to an instance of an object.