C# 如何将数据从数据库传递到控制器,然后在选择选项标记的视图中显示。ASP.NET MVC5

C# 如何将数据从数据库传递到控制器,然后在选择选项标记的视图中显示。ASP.NET MVC5,c#,html,asp.net-mvc,asp.net-mvc-5,C#,Html,Asp.net Mvc,Asp.net Mvc 5,我正在尝试从数据库中获取数据,我可以这样做,但我似乎无法在html中将其传递到视图的选择选项标记 我尝试使用字符串并对其进行PAS运算,但它只传递第一个值。也无法通过字符串数组传递它 public ActionResult GetDetails() { SqlConnection con; string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); con =

我正在尝试从数据库中获取数据,我可以这样做,但我似乎无法在html中将其传递到视图的选择选项标记

我尝试使用字符串并对其进行PAS运算,但它只传递第一个值。也无法通过字符串数组传递它

public ActionResult GetDetails()
{
    SqlConnection con;
    string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
    con = new SqlConnection(constr);
    con.Open();
    string sqlCommand = "SELECT *FROM cityname";
    SqlCommand cmd = new SqlCommand(sqlCommand, con);
    SqlDataReader read;

    read = cmd.ExecuteReader();

    List<string> str = new List<string>();

    while(read.Read())
    {
        str.Add(read.GetValue(1).ToString());
    }

    ViewBag.mydata = str;

    return View();
}
public ActionResult GetDetails()
{
SqlConnection-con;
string constr=ConfigurationManager.ConnectionString[“ConnectionString”].ToString();
con=新的SqlConnection(cont);
con.Open();
string sqlCommand=“SELECT*FROM cityname”;
SqlCommand cmd=新的SqlCommand(SqlCommand,con);
SqlDataReader读取;
read=cmd.ExecuteReader();
List str=新列表();
while(read.read())
{
str.Add(read.GetValue(1.ToString());
}
ViewBag.mydata=str;
返回视图();
}
我希望能在这部电影中表现出来

<select class="mdb-select md-form" id="PersonCity" name="PersonCountry" onchange="run1();">
    <option value="" disabled selected>Choose your Country</option>
    <option value='$country_name'>$country_name</option>

选择你的国家
$country\u name

尝试为此替换您的html

@Html.DropDownList("value", new SelectList(ViewBag.mydata))

?我无法迭代viewbags。我希望能够将它发送到html中的selectoption,然后通过JavaScription进行迭代。这个怎么样?为什么不使用helper方法
@Html.DropDownListFor()
?我不知道如何使用helper方法。我是mvc和asp.net的新手