Dar*_*ter 6 dynamic razor asp.net-mvc-3
我在CSHTML razor页面中有以下代码:
@{
var sort = ViewBag.Sort.ToString();
switch (sort)
{
case "None": Html.Action("SortNone"); break;
case "Name": Html.Action("SortName"); break;
case "Date": Html.Action("SortDate"); break;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这与编译器错误消息失败:
CS0151: A switch expression or case label must be a bool, char, string, integral, enum, or corresponding nullable type
Run Code Online (Sandbox Code Playgroud)
但排序是一个字符串!将此重写为一系列if/else语句,但不是那么优雅.
尝试转换,编译器不知道ToString()的返回类型,因为它是动态的.
var sort = (string)ViewBag.Sort.ToString();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4531 次 |
最近记录: |