无法从 asp-route-data 获取 Enum 的值
can not get the value of Enum from asp-route-data
我有一个枚举
public enum mediaType
{
Video = 0,
Voice = 1,
Image = 2
}
现在我想使用 Tag Helper 将值从视图传递到控制器
<a class="btn btn-primary" asp-controller="ShowMedia" asp-action="Index" asp-route-typeindex="mediaType.Video">All Video</a>
并在控制器中
public IActionResult Index(mediaType typeindex=mediaType.Image)
{
//does something
return View(typeindex.ToString(), model);
}
问题是 typeindex 参数总是用它的默认值 mediaType.Image 填充,它永远不会得到 asp-route-typeindex="mediaType.Video"[=14] 的值=]
检查 HTML 元素,您会看到传递的是字符串“mediaType.Video”,而不是枚举值。
在控制器中,Index
会使用默认值mediaType.Image
您需要 @
语法才能使用来自 Razor 的 variable/value。
<a class="btn btn-primary" asp-controller="ShowMedia" asp-action="Index"
asp-route-typeindex="@mediaType.Video">All Video</a>
此外,建议将 mediaType
命名为 naming conventions.
public enum MediaType
{
Video = 0,
Voice = 1,
Image = 2
}
我有一个枚举
public enum mediaType
{
Video = 0,
Voice = 1,
Image = 2
}
现在我想使用 Tag Helper 将值从视图传递到控制器
<a class="btn btn-primary" asp-controller="ShowMedia" asp-action="Index" asp-route-typeindex="mediaType.Video">All Video</a>
并在控制器中
public IActionResult Index(mediaType typeindex=mediaType.Image)
{
//does something
return View(typeindex.ToString(), model);
}
问题是 typeindex 参数总是用它的默认值 mediaType.Image 填充,它永远不会得到 asp-route-typeindex="mediaType.Video"[=14] 的值=]
检查 HTML 元素,您会看到传递的是字符串“mediaType.Video”,而不是枚举值。
在控制器中,Index
会使用默认值mediaType.Image
您需要 @
语法才能使用来自 Razor 的 variable/value。
<a class="btn btn-primary" asp-controller="ShowMedia" asp-action="Index"
asp-route-typeindex="@mediaType.Video">All Video</a>
此外,建议将 mediaType
命名为 naming conventions.
public enum MediaType
{
Video = 0,
Voice = 1,
Image = 2
}