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>