gpt4 book ai didi

c# - 如何在C#中验证 'int?'参数以避免 Controller 页面出现异常?

转载 作者:太空狗 更新时间:2023-10-30 00:34:12 24 4
gpt4 key购买 nike

我想创建一个验证不同输入的类。

在 Controller 中,我有一个简单的 ActionResult 方法类型。

 public ActionResult Detail( int? id ) {
ViewData["value"] = _something.GetValueById( id );
return View();
}

如果您导航到 http://localhost/Home/Detail/3,那么 Controller 将返回 View ,其中它通过 id(它是整数)显示来自模型的可用值。

如果 ID 为空,则 Controller 将我重定向到所有值。

如果您将 ID 路由(如 http://localhost/Home/Detail/3fx)更改为不同的数据类型,则 Controller 会返回红色页面。 (有异常(exception))

我想检查 ID 是否为 int 以避免红页错误(带有异常列表)。

我看到 isNaN 仅适用于 double 数据类型。

抱歉,如果我的问题很烦人。

最佳答案

您可以添加 route constraint强制 ID 参数为有效整数。

routes.MapRoute(
"MyRoute",
"Home/Details/{id}",
new {controller="Home", action="Details", id = UrlParameter.Optional},
new {id = @"\d+" }
);

关于c# - 如何在C#中验证 'int?'参数以避免 Controller 页面出现异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8500604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com