Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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
C# 选择不从ViewModel ASP.NET填充列表_C#_Asp.net Mvc_Asp.net Core_Razor_Asp.net Mvc Viewmodel - Fatal编程技术网

C# 选择不从ViewModel ASP.NET填充列表

C# 选择不从ViewModel ASP.NET填充列表,c#,asp.net-mvc,asp.net-core,razor,asp.net-mvc-viewmodel,C#,Asp.net Mvc,Asp.net Core,Razor,Asp.net Mvc Viewmodel,我的一个视图中的选择列表不是从视图模型填充的,我无法确定它。视图模型的其他部分的行为与预期相同。该视图是局部视图,如果这很重要的话 以下是视图的代码: @model Workout_Tracker.ViewModels.AddExerciseViewModel <form > <div class="individualContainer"> <label asp-for="ExerciseTy

我的一个视图中的选择列表不是从视图模型填充的,我无法确定它。视图模型的其他部分的行为与预期相同。该视图是局部视图,如果这很重要的话

以下是视图的代码:

 @model Workout_Tracker.ViewModels.AddExerciseViewModel
        <form >
           <div class="individualContainer">
                <label asp-for="ExerciseTypeID"></label>
                <select asp-for="ExerciseTypeID" asp-items="Model.ExercisesTypes">
                </select>
                <label asp-for="Reps"></label>
                <input type="number" asp-for="Reps" />
               </div>
            </form>

我通常不会在我的控制器中创建
ActionResult
方法来呈现部分,因此我不能直接谈论围绕MVC管道的情有可原的情况

然而,给定一个传统的ASP.NET MVC项目,我倾向于不通过调用操作来呈现我的部分,而是在视图中使用
ViewBag
作为可靠的替代方案来呈现我的部分,以便在必要时向上下文中的任何视图/部分补充额外数据

~/Views/Workout/Welcome.cshtml

<div>
  <h2>Workout</h2>
  <p>Select your workout below:</p>

  @Html.Partial("~/Views/Shared/_WorkoutSelector.cshtml", ViewBag.MyExerciseViewModel);
</div>

顺便问一下,您是否正确地处理了
DbContext

我通常不会在我的控制器中创建
ActionResult
方法来呈现片段,因此我不能直接谈论围绕MVC管道的情有可原的情况

然而,给定一个传统的ASP.NET MVC项目,我倾向于不通过调用操作来呈现我的部分,而是在视图中使用
ViewBag
作为可靠的替代方案来呈现我的部分,以便在必要时向上下文中的任何视图/部分补充额外数据

~/Views/Workout/Welcome.cshtml

<div>
  <h2>Workout</h2>
  <p>Select your workout below:</p>

  @Html.Partial("~/Views/Shared/_WorkoutSelector.cshtml", ViewBag.MyExerciseViewModel);
</div>

顺便问一下,您是否正确地处理了
DbContext

您传递的是
IEnumerable
,ExerciseType是一个整数,因此基本上,您传递的是一个可枚举的数字,希望从中获得
ID
Name
?你能澄清一下吗?@Valkyrie,它被传递给构造函数,用于初始化
ExercisesTypes
属性。它不一定会影响视图中模型的可用性。@rdev5您读过我说的吗
ExerciseType
是模型本身的整数。如何从整数中获取Id和名称?@Valkyrie抱歉,我还是不明白你的意思。听起来你把属性
AddExerciseViewModel.ExerciseType
(它不是一个类型)和这个项目中其他地方定义的一些
ExerciseType
类(它定义了
ID
Name
属性)混淆了,而这些代码段中的OP根本没有包含这些属性。此外,为什么任何人都要用不同的名称来冒名
int
,这是没有道理的。OP清楚地知道当他们想要
int
类型时如何指定
int
(在
addexerciewmodel
中有5个)。他应该添加足够的信息或有适当的命名。同时,回答这些没有澄清的问题也会产生更多的问题。您传递的是
IEnumerable
,ExerciseType是一个整数,因此基本上,您传递的是一个可枚举的数字,希望从中获得
ID
Name
?你能澄清一下吗?@Valkyrie,它被传递给构造函数,用于初始化
ExercisesTypes
属性。它不一定会影响视图中模型的可用性。@rdev5您读过我说的吗
ExerciseType
是模型本身的整数。如何从整数中获取Id和名称?@Valkyrie抱歉,我还是不明白你的意思。听起来你把属性
AddExerciseViewModel.ExerciseType
(它不是一个类型)和这个项目中其他地方定义的一些
ExerciseType
类(它定义了
ID
Name
属性)混淆了,而这些代码段中的OP根本没有包含这些属性。此外,为什么任何人都要用不同的名称来冒名
int
,这是没有道理的。OP清楚地知道当他们想要
int
类型时如何指定
int
(在
addexerciewmodel
中有5个)。他应该添加足够的信息或有适当的命名。同时,回答这些没有澄清的问题也会产生更多的问题。
 public class ExerciseType
{
    public int ID { get; set; }

    public string Name { get; set; }

}
<div>
  <h2>Workout</h2>
  <p>Select your workout below:</p>

  @Html.Partial("~/Views/Shared/_WorkoutSelector.cshtml", ViewBag.MyExerciseViewModel);
</div>