为什么DropDown()辅助方法在C#块中使用它时不显示下拉列表?

时间:2016-02-06 00:17:21

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-5

我有以下视图代码来生成下拉列表控件。当代码写入C#块时,它不会显示下拉列表

这是我的代码

@{
    ViewBag.Title = "Index";
    Html.DropDownList("id", Model.catColl);    
}

但是当我把它写在C#块之外时,它会显示..为什么会发生这种情况,我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

<h1>@ViewBag.Title</h1> 内部的任何内容都应该是 C#代码,除了它之外,应该是 ASP.NET代码

如果要将两者结合使用以在HTML中显示C#值,则可以使用以下样式:@SomeProperty

示例:

DropDownList

修复您的问题,将@Html.DropDownList("id", Model.catColl); 放在外面:

Class Product{
//code
};
Class ProductDiscount:public Product{
//code
};

Class Cart{

Product ** products;
int noElem;
};

答案 1 :(得分:1)

您应该在@之前加Html.DropDownList。它会解决你的问题。

@{
    ViewBag.Title = "Index";
    @Html.DropDownList("id", Model.catColl);    
}