【发布时间】:2019-05-03 18:35:00
【问题描述】:
我的控制器操作之一出现问题。
我的视图中存储了一个小数点。并且我试图将这个通过和 actionlink 传递给我的控制器方法。
ViewBag.Interest =1.25
@Html.ActionLink("Export", "ExportInterest", "Export", new {id = ViewBag.Interest}, null).
我的控制器方法看起来像这样:
public ActionResult ExportInterest(decimal? id)
{
return View();
}
我可以看到 1.25 是通过查询字符串传递的,但是在路由时我得到一个 404 文件未找到。注意:如果我将它更改为没有小数点的整数,它工作正常。这是编码错误吗?它不识别小数点,也许我需要转义它?我应该使用 htmlhelper 吗?最初我认为这可能是本地化问题,但我在 web.config 中设置了我的全球化文化。我显然在这里做一些愚蠢的事情......任何帮助将不胜感激......
更新:我还尝试在操作链接中将我的 viewbag 转换为可为空的小数,但这没有任何效果
【问题讨论】:
-
您创建了视图吗?为什么要从 Viewbag 传递一个值?
-
作为字符串传递,然后进行强制转换
-
我确实有意见。如上所述,actionlink 和 viewbag 被填充到视图中。 viewbag 被填充在页面获取中,但为了本地化错误,我现在只是将它填充到视图中的 viewbag 中,只是为了看看为什么小数点没有正确路由..
-
谢谢我,我刚刚尝试将它作为字符串传递,并更改了我的控制器方法以期望一个字符串,但结果还是一样。这绝对是路由中带有小数点的问题。这是路由问题还是 iis 问题?我在iis7顺便说一句。但也曾在 iisexpress 中尝试过
标签: asp.net-mvc-4 razor