我的网址如下:
{控制器} / {行动} / {ID}
在这个例子中,它是:
博客/编辑/ 2
在我的代码中,我试图获取ID参数(即“2”),如下所示:
' get route
Dim routeData = httpContext.Request.RequestContext.RouteData
' get id
Dim id = If(String.IsNullOrEmpty(routeData.Values("id") = False), routeData.Values("id").ToString, Nothing)
但是,它的价值是空的。以下语句由于某种原因返回true:
If String.IsNullOrEmpty(id) = True Then
如何获取ID的值,使其不是NULL(或VB.NET中的“Nothing”)?
答案 0 :(得分:1)
解决方案是改变我使用IsNullorEmpty方法的方式:
' get id
Dim id = If(String.IsNullOrEmpty(routeData.Values("id")), Nothing, routeData.Values("id").ToString)
' if no id is set, check to see if the user owns the requested entity (company or blog)
If String.IsNullOrEmpty(id) Then
答案 1 :(得分:1)
它没有任何回报。
您的原始帖子显示为String.IsNullOrEmpty(routeData.Values("id") = False)
- 您的右括号位于错误的位置,因此String.IsNullOrEmpty将始终返回false。你应该写String.IsNullOrEmpty(routeData.Values("id")) = False
。
(在VB中,"xyz" = false
会隐式转换为"False"
。)