ASP.NET MVC ViewData if 语句
我在视图中使用以下内容来检查查询是否存在,例如domain.com/?query=moo
if (!string.IsNullOrEmpty(Request.QueryString["query"])) { my code }
但现在需要更改它,以便它检查 ViewData 查询是否存在而不是查询字符串,但不太确定如何重写它。我的 ViewData 如下所示: ViewData["query"]
有人可以帮忙吗?谢谢
I use the following in my View to check if a query exists like domain.com/?query=moo
if (!string.IsNullOrEmpty(Request.QueryString["query"])) { my code }
But now need to change it so that it checks if the ViewData query exists instead of the query string, but not quite sure how to rewrite it. My ViewData looks like this: ViewData["query"]
Can anyone help? Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果你绝对必须获得一个字符串值,你可以这样做:
if you absolutely have to get a string value you can do:
通过一些镀金来扩展亨特的答案...
ViewData
Dictionary
是光荣的非类型化。检查值是否存在的最简单方法(Hunter 的第一个示例)是:
您可以使用像 [1] 这样的包装器:
这使得人们能够将 Hunter 的第二个示例表达为:
但一般来说,我喜欢将此类检查包装在意图揭示中命名扩展方法,例如:
它可以:
...
应用此技术的更详细的示例:
Expanding on Hunter's answer with some goldplating...
The
ViewData
Dictionary
is gloriously untyped.The simplest way to check for presence of a value (Hunter's first example) is:
You can use a wrapper like [1]:
which enables one to express Hunter's second example as:
But in general, I like to wrap such checks in intention revealing named extension methods, e.g.:
Which enables:
...
A more elaborate example of applying this technique:
如果您必须在一行中执行此操作 - 例如在 Razor 中,
我尝试使用 ViewData 来确定当前操作是否是需要在导航栏中处于活动状态的操作
If you ever had to do this in one line - for example in Razor
I'm trying to use ViewData to figure out whether or not the current Action is the one that needs to be Active in my navigation bar