无法获取从url传递的控制器中的参数值

时间:2017-06-29 12:12:59

标签: c# model-view-controller

我想将动态值传递给控制器​​,如querystring。我传递一个字符串,但我在控制器中得到null。我正在点击网址" http://localhost:62666/tracker/MapDetails/sss"但没有在控制器中获得任何价值。你能指出我犯了哪个错误吗?

控制器:

public ActionResult MapDetails(string val)
{
    AssetTracker model = new AssetTracker();
    model.deviceid = val;
    return View(model);
}

查看:

@model smartpond.Controllers.AssetTracker
@{
    ViewBag.Title = "MapDetails";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<h1>
    My device id is : @Model.deviceid
</h1>

1 个答案:

答案 0 :(得分:1)

您在控制器中获得Null值,因为MVC中的模型绑定器无法绑定您传递给MVC路由的变量因此,您需要添加符合传递参数的自定义路由以识别将它们添加到模型绑定器以添加自定义路由,您必须将其写入解决方案的app_start文件夹中的RouteConfig.cs文件中,并确保将其附加到具有不同名称的默认路由的顶部。

.GroupBy(p => p.EAN.ToLower())