Asp.net mvc 如何检查布局页面asp.net MVC中是否存在路由参数

Asp.net mvc 如何检查布局页面asp.net MVC中是否存在路由参数,asp.net-mvc,razor,Asp.net Mvc,Razor,我在urlid&text中有两个参数。我试图检查布局页面中是否存在'text',因为最初我只有Id,后来我将'text'添加到来自不同操作但相同控制器的url中 在我的布局页面中有以下代码,但它仅在两个参数都可用时才起作用 var Newid,Newtext; Newid = ViewContext.RouteData.Values["id"]; Newtext = ViewContext.RouteData.Values["text"].ToString(); 我正在尝试检查我的ur

我在url
id&text
中有两个参数。我试图检查
布局页面中是否存在
'text'
,因为最初我只有
Id
,后来我将
'text'
添加到来自不同操作但相同控制器的url中

在我的布局页面中有以下代码,但它仅在两个参数都可用时才起作用

var Newid,Newtext;
  Newid = ViewContext.RouteData.Values["id"];
  Newtext = ViewContext.RouteData.Values["text"].ToString();
我正在尝试检查我的url何时为
localhost:8122/products/12

@
{
if(ViewContext.RouteData.Values["text"].ToString()!=null)
{

}

}
但它会给对象引用错误

我必须包括
.tostring()
,因为我在同一页中进行了如下检查

 @if (Newtext =="t") {}

移除
ToString()不,不是这样解决的。我正在检查布局页面中的一些条件,如@if(Newtext==“t”)FGS。首先检查它是否为
null
(需要删除
.ToString()
。然后检查它是否为
null
,您可以将它作为
字符串测试,我的url是,localhost:8122/product/12,这次我在布局页面@if(ViewContext.RouteData.Values[“text”].ToString()=“t”){如果(ViewContext.RouteData.Values[“text”]!=null&&ViewContext.RouteData.Values[“text”].ToString()=“t”){…},它将给出errorRead注释