C# 如何在列表中存储和访问url以实现反向和正向web浏览器功能
我正在制作web浏览器,但不允许使用.NET提供的web浏览器类。我已经设法使所有的基本功能。不过,我现在正在处理后退和前进按钮。我有一个存储url的列表(在地址栏中输入的url)。我想通过这些循环来引导用户前进或后退,具体取决于按下的按钮 我的代码:C# 如何在列表中存储和访问url以实现反向和正向web浏览器功能,c#,asp.net,list,browser,C#,Asp.net,List,Browser,我正在制作web浏览器,但不允许使用.NET提供的web浏览器类。我已经设法使所有的基本功能。不过,我现在正在处理后退和前进按钮。我有一个存储url的列表(在地址栏中输入的url)。我想通过这些循环来引导用户前进或后退,具体取决于按下的按钮 我的代码: public partial class WebBrowser : Form { public string url; public string addressText; private homeForm homeFor
public partial class WebBrowser : Form
{
public string url;
public string addressText;
private homeForm homeForm;
private List <string> urlList = new List <string> ();
public WebBrowser()
{
InitializeComponent();
}
private void navigateButton_Click(object sender, EventArgs e)
{
addressText = urlBar.Text;
webNavigate(addressText);
}
private void backButton_Click(object sender, EventArgs e)
{
}
private void forwardButton_Click(object sender, EventArgs e)
{
}
private void webNavigate(string urlbartext )
{
addressText = urlBar.Text;
urlbartext = "http://" + addressText;
urlList.Add(urlbartext);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlbartext);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream pageStream = response.GetResponseStream();
StreamReader reader = new StreamReader(pageStream, Encoding.Default);
string s = reader.ReadToEnd();
webDisplay.Text = s;
reader.Dispose();
pageStream.Dispose();
response.Close();
}
公共部分类WebBrowser:表单
{
公共字符串url;
公共字符串地址文本;
私人家庭形式家庭形式;
私有列表urlList=新列表();
公共网络浏览器()
{
初始化组件();
}
私有无效导航按钮单击(对象发送者,事件参数e)
{
addressText=urlBar.Text;
网络导航(地址文本);
}
私有无效backButton_单击(对象发送方,事件参数e)
{
}
私有无效转发按钮\单击(对象发送者,事件参数e)
{
}
私有void webNavigate(字符串urlbertext)
{
addressText=urlBar.Text;
urlbertext=“http://”+地址文本;
添加(urlbertext);
HttpWebRequest request=(HttpWebRequest)WebRequest.Create(urlbertext);
HttpWebResponse=(HttpWebResponse)request.GetResponse();
Stream pageStream=response.GetResponseStream();
StreamReader=新的StreamReader(pageStream,Encoding.Default);
字符串s=reader.ReadToEnd();
webDisplay.Text=s;
reader.Dispose();
Dispose();
response.Close();
}
问题。我如何使用列表检查访问的站点?请尝试使用队列,而不是列表。 一个用于以前访问过的url,另一个用于将来访问的url 因此,在初始加载浏览器时,两个队列都是空的。 一旦用户导航到某个url,此url就会插入到上一个队列中。如果用户点击“后退”按钮,则该url将从上一个队列中获取并插入到未来的队列中
这样,您就可以避免使用枚举数,并随时知道用户的位置。但我需要实现浏览器历史记录功能,队列是否也可以满足这一要求?我有点使用列表,以便以后可以参考它了解我的历史记录。是的,队列就足够了。