将参数从Controller传递到C#中的View

时间:2018-01-14 04:25:21

标签: c# asp.net-mvc view controller

我最近在Linux上使用Ruby on Rails工作了很多,现在我需要在Windows中创建一个网页。

我在将参数从Controller传递到View时遇到问题。我想在方法“索引”中创建一个用户列表,并在其视图中显示该列表。任何人都可以解释一下,如果没有设置我的属性“私人”,这是正确的方法吗?也许答案很简单:这是不可能的。目前我会等到有人告诉我。

我有一个名为“User”的模型,一个名为“UsersController”的Controller,最后是一个名为“Users”的视图。

我的模型中的代码是:

public class User
    {
        // Atributos
        private int id;
        private String name;
        private String lastName;

        //Constructor
        public User(int id,String name, String lastname)
        {
            this.id = id;
            this.name = name;
            this.lastName = lastname;
        }

        //métodos
        public void setName(String name)
        {
            this.name = name;
        }
        public String getName()
        {
            return this.name;
        }   

(与其他属性相同)

然后,这是我的Controller中的代码:

public ActionResult Index()
        {
            List<User> usersList = new List<User>();
            User user1 = new User(1,"Lihuen","Figueroa");
            User user2 = new User(2,"Solana", "Pachiorquevich");
            User user3 = new User(3,"Vicente", "Corrao");

            usersList.Add(user1);
            usersList.Add(user2);
            usersList.Add(user3);

            return View();
        }

这是我视图中的代码:

@model IEnumerable<PruebaDeInterfaz.Models.User>
@{
    ViewBag.Title = "Index";
}
<h2>Users list</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>

<table class="table">
    <tr>
        <th>User name</th>
        <th>User lastname</th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
            @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
            @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
        </td>
    </tr>
}

</table>

0 个答案:

没有答案