我的应用中有几个html页面。我将这些html文件命名为f1.html,f2.html,f3.html,\ ... f454.html。所以,我想按用户偏好显示这些文件。因此,我使用CustomMessageBox
在NuGet
创建了一个文本框和按钮,以及一个名为webview.xaml的xaml页面。如果用户在文本框中输入3,则应在webview.xaml中打开f3.html。
我不知道如何编码。最好的答案将非常感谢。
C#Code我现在做了[UPDATE];
TextBox getFileNo = new TextBox();
getFileNo.Height = 72;
getFileNo.Width = 150;
getFileNo.MaxLength = 3;
TextBox getHashNo = new TextBox();
getHashNo.Height = 72;
getHashNo.Width = 150;
getHashNo.MaxLength = 3;
string showFile;
showFile = getFileNo.Text;
string hashId;
hashId = getHashNo.text;
NavigationService.Navigate(new Uri("/webview.xaml?Page=" + site, UriKind.Relative));
在webview.xaml中:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (NavigationContext.QueryString.ContainsKey("Page"))
{
var page = NavigationContext.QueryString["Page"];
browser.Navigate(new Uri("/f" + page + ".html#" + hashId, UriKind.Relative));
}
}
答案 0 :(得分:0)
您可以导航到 webview.xaml 页面,并使用所需的hmtl文件传递querystring:
NavigationService.Navigate(new Uri(String.Format("/webview.xaml?Page={0}&id={1}", showFile, hashId), UriKind.Relative));
在 webview.xaml 页面中,您可以覆盖OnNavigatedTo
方法以检查传递的网页并在网络浏览器中将其打开:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (NavigationContext.QueryString.ContainsKey("Page") && NavigationContext.QueryString.ContainsKey("id"))
{
var page = NavigationContext.QueryString["Page"];
var hashId = NavigationContext.QueryString["id"];
yourWebBrowser.Navigate(new Uri(String.Format("/f{0}.html#{1}", page, hashId), UriKind.Relative));
}
}
有关详情,请参阅Passing paramenters的How to perform page navigation on Windows Phone部分。