看看你主页上的UriMapper
。最后UriMapping
通常会被捕捉一切,看起来像这样: -
<uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/>
你会注意到在“/”的URI和相应页的开头所属的“/视图”文件夹中。
使用属性: -
NavigatUri="/myPage?mode=edit"
确保您在浏览文件夹页。
但是我很肯定你已经有了。你真正的问题是你试图在执行页面构造函数时访问NavigationContext
。它在页面生命周期的这一点上不可用。在执行OnNavigatedTo
之前,您不应该尝试使用它。
public partial class MyPage : Page
{
public MyPage()
{
InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
string mode = null;
if (NavigationContext.QueryString.ContainsKey("mode"))
{
mode = NavigationContext.QueryString["mode"];
}
// Do stuff with mode.
}
}
你所看到的原因,“找不到网页错误”是那是因为导航应用程式ErrorWindow
只是假定任何故障加载一个页面,是因为它没有被发现。假设你已经正确编码你的页面,这可能是一个合理的假设。
即时通讯使用其中一个模板,我无法找到uri映射器在哪里lol。它应该像这样设置。我试过这个,看起来不行。我不再收到错误,但它没有收到参数 – Sinaesthetic
找到了uri映射器,它按照描述进行了设置,但仍然无法使用该参数。我将模式值更改为formMode。我运行了一个显示来显示导航上下文中存在哪些键,并且显示有一个叫做mode的键,但我似乎无法修改它,并且formMode没有被传递。 – Sinaesthetic
实际上,我只是注意到,在地址栏中,尽管事实上我的超链接控件说了,但是mode = 2被传递了吗?formMode = edit – Sinaesthetic