OnNavigatedTo(NavigationContext navigationContext)怎么获取跳转到此页面的名称 Parameters 为空用URL报错
时间: 2024-03-23 13:41:11 浏览: 51
如果您的 `Parameters` 属性为空,则说明在导航到当前页面时没有传递任何参数。在这种情况下,您可以从 `Uri` 属性中获取当前页面的完整 URL,然后使用字符串操作来获取页面名称。
以下是一个示例代码:
```
public void OnNavigatedTo(NavigationContext navigationContext)
{
string url = navigationContext.Uri.ToString();
string pageName = url.Substring(url.LastIndexOf('/') + 1);
// 在此处使用页面名称进行操作
}
```
在上面的示例代码中,我们使用 `Uri` 的 `ToString()` 方法获取完整的 URL,然后使用 `Substring()` 和 `LastIndexOf()` 方法来获取最后一个斜杠后面的字符串,即页面名称。
需要注意的是,如果您的 URL 包含查询参数,则需要在获取页面名称之前将其从 URL 中删除。您可以使用类似于以下代码的方法来获取不包含查询参数的路径:
```
string path = navigationContext.Uri.GetLeftPart(UriPartial.Path);
string pageName = path.Substring(path.LastIndexOf('/') + 1);
```
如果您使用的是不同的路由导航库,则可能需要使用不同的方法来获取页面名称。
相关问题
OnNavigatedTo(NavigationContext navigationContext)怎么获取跳转到此页面的名称 用URL报错
如果您使用的是 URL 路由导航,则可以使用 NavigationContext 中的 Parameters 属性来获取导航到当前页面时传递的参数,其中包括页面名称。在 URL 路由中,页面名称通常作为路由模板中的一部分。
以下是一个示例 URL 路由:
```
http://localhost:1234/Navigation/Page1
```
在上面的示例 URL 中,"Navigation" 是控制器名称,"Page1" 是页面名称。您可以使用以下代码来获取页面名称:
```
string pageName = navigationContext.Parameters["id"] as string;
```
在上面的示例代码中,我们假设您的路由模板中包含一个名为 "id" 的参数,该参数的值为页面名称。
需要注意的是,如果您使用的是不同的路由导航库,则可能需要使用不同的方法来获取页面名称。
OnNavigatedTo(NavigationContext navigationContext)怎么获取跳转到此页面的名称
如果您正在使用基于 Prism 库的导航,那么您可以使用 NavigationContext 中的 Uri 属性来获取导航到当前页面的 Uri。您可以从 Uri 中获取页面的名称或其他信息。
示例代码如下:
```
public void OnNavigatedTo(NavigationContext navigationContext)
{
Uri uri = navigationContext.Uri;
string pageName = uri.Segments.Last();
// 在此处使用页面名称进行操作
}
```
在上面的示例代码中,我们使用 Uri 的 Segments 属性来获取所有路径段,然后使用 Last() 方法获取最后一个路径段,即页面名称。
需要注意的是,如果您正在使用不同的导航库,则可能需要使用不同的方法来获取导航到当前页面的信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)