C# 从MVC1升级到MVC5后下拉列表不工作

C# 从MVC1升级到MVC5后下拉列表不工作,c#,asp.net-mvc,asp.net-mvc-5,webforms,C#,Asp.net Mvc,Asp.net Mvc 5,Webforms,我需要你的帮助,我有这个应用程序是使用MVC 1开发的。现在我要把这个应用升级到MVC5。我创建了一个新的MVC项目,并添加了旧项目,修复了旧的引用和配置。 我的问题是,我有一个DropDownList服务器控件,它不工作。它假设根据所选语言重新加载页面,但似乎没有得到正确的值,并且加载了默认页面。 这是我的下拉列表的代码。它位于SiteBM.Master文件中 <asp:DropDownList runat="server" id="ddlLanguage" AutoPostBack="

我需要你的帮助,我有这个应用程序是使用MVC 1开发的。现在我要把这个应用升级到MVC5。我创建了一个新的MVC项目,并添加了旧项目,修复了旧的引用和配置。 我的问题是,我有一个DropDownList服务器控件,它不工作。它假设根据所选语言重新加载页面,但似乎没有得到正确的值,并且加载了默认页面。 这是我的下拉列表的代码。它位于SiteBM.Master文件中

<asp:DropDownList runat="server" id="ddlLanguage" AutoPostBack="true"></asp:DropDownList>

这是为正在工作的MVC1项目生成的HTML

<select name="ctl00$ddlLanguage" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ddlLanguage\',\'\')', 0)" id="ctl00_ddlLanguage">

这是为不工作的MVC5项目生成的HTML

<select name="ctl00$ddlLanguage" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ddlLanguage\',\'\')', 0)" id="ddlLanguage">


请帮忙

ASP.NET WebForms不是“ASP.NET MVC 1”-它们完全不同。您无法真正将web应用程序从WebForms“升级”到MVC-您需要重新构建代码库,从控制器操作后面的页面代码开始,引入视图特定的ViewModel类型来表示显示的数据。此外,由于在MVC 5(MVC Core)中删除了ASPX视图引擎,因此您的“服务器控件”将无法再工作-您需要重写,然后使用Razor/cshtml。我的应用程序是使用MVC和ASPX视图引擎编写的,它不是WebForms应用程序。我想知道是否有一种方法可以配置我的控件,使其在不从头重写应用程序的情况下正常工作。您的第一个代码片段中的代码是webforms(使用
System.Web.UI
controls)。它与MVC无关(在MVC中没有
runat=“server”
AutoPostBack=“true”
)。要在MVC中生成dropdownlist,请使用
@Html.DropDownListFor()
方法-参考典型示例这是来自MVC1的旧代码,位于SiteBM.Master文件中。如果我要使用@Html.DropDownListFor()方法,我将如何绑定它。我是新手,需要帮助