Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 我可以将viewmodel和IEnumerable一起发送到视图吗_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc 我可以将viewmodel和IEnumerable一起发送到视图吗

Asp.net mvc 我可以将viewmodel和IEnumerable一起发送到视图吗,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我可以将视图(在数据库中:右键单击table-->view)和模型一起放入视图页面吗 我在页面上有一些文件想要将它们的内容发送到一个操作结果(所以我应该向我的视图传递一个模型,是吗?) 然后,操作结果的重用是数据库中的视图。事实上,我在视图页面上有一些tds,它们希望通过QuerySelect(数据库中的视图)来填充它们 我确实喜欢下面。如果我单击第一个按钮,我将得到我的模型null(在[HttpPost]中)。 如果单击第一个按钮,我的模型也是空的 视图: @model Proj

我可以将视图(在数据库中:右键单击table-->view)和模型一起放入视图页面吗

我在页面上有一些文件想要将它们的内容发送到一个操作结果(所以我应该向我的视图传递一个模型,是吗?) 然后,操作结果的重用是数据库中的视图。事实上,我在视图页面上有一些tds,它们希望通过QuerySelect(数据库中的视图)来填充它们

我确实喜欢下面。如果我单击第一个按钮,我将得到我的模型null(在[HttpPost]中)。 如果单击第一个按钮,我的模型也是空的

视图:

       @model Project.Models.MyClass.WholeList


       @using (Html.BeginForm("listPlayer", "Player", FormMethod.Post))
                        {
                            @Html.AntiForgeryToken()
          @Html.TextBoxFor(m => m. PSearch.name, new { @placeholder = "* Enter name" })
           <input type="submit" value="search via name" name="Search" class="btn btn-general" />

                         }

     @model IEnumerable<Project.Models.vw_Players >

    @foreach (var item in Model)
    {
        <tr>

            <td class="stock">
                @Html.DisplayFor(modelItem => item.nam)
            </td>
            <td class="stock">
                @Html.DisplayFor(modelItem => item.cost)
            </td>
            <td class="stock">@item.number</td>
            <td class="stock">
                @Html.DisplayFor(modelItem => item.coach)
            </td>
        </tr>
    }

               @using (Html.BeginForm("listPlayer", "Player", FormMethod.Post))
                        {


                                  <select name="daystart">
                                    @for (var day = 1; day <= 31; day++)
                                    {
                                        <option value="@day">@day</option>
                                    }

                                </select>
                            <select name="monthstart">
                                <option value="01">1</option>
                                <option value="02">2</option>
                                <option value="03">3</option>
                                <option value="04">4</option>
                                <option value="05">5</option>
                                <option value="06">6</option>
                                <option value="07">7</option>
                                <option value="08">8</option>
                                <option value="09">9</option>
                                <option value="10">10</option>
                                <option value="11">11</option>
                                <option value="12">12</option>

                            </select>
                            <select name="yearstart" >
                                @for (var year = 2013; year <= Myfuc(DateTime.Now); year++)
                                {
                                    <option value="@year">@year</option>
                                }

                            </select>
               <input type="submit" value="seaech" class="btn btn-general" />
                                  }

您需要常规
ViewModel
来完成此操作。诸如此类

public class myViewModel
{
  public List<Project.Models.vw_Players> players {get; set;}
  public MyviewModel Mymodel {get; set;}
}
已编辑。

您还需要更改public
ActionResult ListPlayer()
以返回
myViewModel
。诸如此类:

public ActionResult ListPlayer()
{
  MyviewModel model = new MyviewModel
{
//** define properties here
}
 List<vw_Players> players_ = db.vw_Players.ToList();

var result = new myViewModel
{
players = players_,
Mymodel = model
}

return View(result);

}
public ActionResult ListPlayer()
{
MyviewModel模型=新的MyviewModel
{
//**在此处定义属性
}
List players=db.vw_players.ToList();
var结果=新的myViewModel
{
玩家=玩家,
Mymodel=模型
}
返回视图(结果);
}

谢谢。但我应该为使用我的模型而感到高兴:我修正了我的问题。请看it@niki可以,但不需要添加Model.Mymodel。视图只能渲染一个模型。在您的情况下,它将是model Project.Models.myViewModel,其中包含对players和Mymodel的建模。为什么它会在@foreach(model.players中的var项)上显示“对象引用未设置为对象的实例”。@niki what返回您的公共ActionResult ListPlayer()?它应该返回myViewModelAndrey.Gubal我正在编辑我的问题,我将向您展示我的代码。谢谢
public class myViewModel
{
  public List<Project.Models.vw_Players> players {get; set;}
  public MyviewModel Mymodel {get; set;}
}
@model Project.Models.myViewModel

@foreach (var item in Model.players)
{
//** do somthing
}


@Model.Mymodel.day //** or something else
public ActionResult ListPlayer()
{
  MyviewModel model = new MyviewModel
{
//** define properties here
}
 List<vw_Players> players_ = db.vw_Players.ToList();

var result = new myViewModel
{
players = players_,
Mymodel = model
}

return View(result);

}