我的控制器操作有问题 我的视图中有一个小数存储在我的视图中。我试图将此通过和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转换为动作链接中可以为空的小数,但这没有任何效果
答案 0 :(得分:1)
我的猜测与视图包中的数据类型有关。
之前我已将小数传递给控制器,所以我知道可以完成。但是,如果您将链接更改为:
@Html.ActionLink("Export", "ExportInterest", "Export", new {id =1.25}, null).
有效吗?
答案 1 :(得分:0)
试试:
decimal? d = (decimal?)ViewBag.Interest;
@Html.ActionLink("Export", "ExportInterest", "Export", new {id = d}, null)
或
@Html.ActionLink("Export", "ExportInterest", "Export", new {id = (decimal?)ViewBag.Interest}, null)