asp.net-mvc如何将一个字符串数组,从控制器传递到视图 MVC4,而无需创建多个 actionresults?

发布时间: 2016/10/9 6:05:36
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我是新来 mvc4 所以请走很容易,我试图将多个目的地的名字从控制器传递到我的看法。而无需创建更多的 actionresults 和对象,如何可以做这。我想要创建一个表,使用一个字符串数组的目的地名称。这是可能会感谢任何帮助。先谢谢你了。

Controller:
public ActionResult Destinations()       
{           
   string[] arrivalAirport = new string[4] { "london", "paris", "berlin", 
                                                          "manchester" };            

   Destination dest = new Destination();            
   dest.arrivalName = arrivalAirport[2];      

   return View(dest);
 }

Model:
public class Destination    
{        
    public string arrivalName { get; set; }    
    public string arrivalCode { get; set; }
}

View:
@model Flight.Models.Destination

@{
  ViewBag.Title = "Destinations";
  Layout = "~/Views/Shared/_Layout.cshtml";
}
<table>
    <tr>
        <td>@Html.Label("Arrival Name")</td>
        <td>@Model.arrivalName</td>            
    </tr>
</table>

解决方法 1:

你质询的字眼是很令人困惑,但它听起来像您想要将多个目标对象传递给您的视图。如果是这样,只是将多个目标对象传递给您的视图。

控制器︰

public ActionResult Destinations()       
{           
    string[] arrivalAirport = new string[4] { "london", "paris", "berlin", 
                                                          "manchester" };            
    var airports = new List<Destination>();

    foreach( var airport in arrivalAirport )
    {
        airports.Add( new Destination() { arrivalName = airport } );
    }   

    return View(airports);
}

视图︰

@model List<Flight.Models.Destination>

<table>
@foreach( var dest in Model )
{
    <tr>
    <td>Arrival Name</td>
    <td>@dest.arrivalName</td>            
</tr>
}
</table>
官方微信
官方QQ群
31647020