Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用Razor中的变量设置DropdownList名称_C#_Asp.net Mvc 5 - Fatal编程技术网

C# 无法使用Razor中的变量设置DropdownList名称

C# 无法使用Razor中的变量设置DropdownList名称,c#,asp.net-mvc-5,C#,Asp.net Mvc 5,我想用viewbag值设置下拉列表名称,如belowe,但返回编译错误 @{ var ControlName = ViewBag.controlname; } @Html.DropDownList(ControlName , Model,"please select", new { @class = "form-control" }) 将其更改为此时,其工作正常: @Html.DropDownList("typename", Model, "please select", n

我想用
viewbag
值设置
下拉列表
名称,如belowe,但返回
编译错误

   @{ 
    var ControlName = ViewBag.controlname;
}

@Html.DropDownList(ControlName , Model,"please select", new { @class = "form-control" })
将其更改为此时,其工作正常:

@Html.DropDownList("typename", Model, "please select", new { @class = "form-control" })

你应该先把它抛给弦

@{
    var ControlName = (string)ViewBag.controlname;
}

@Html.DropDownList(ControlName , Model,"please select", new { @class = "form-control" })
ViewBag
是一个动态对象。因此,当您要使用它的属性时,必须显式地强制转换它的属性


有关更多信息,请查看。

ViewBag
动态的
-您需要将其转换为
字符串