问题描述
我在 Admin view
中有一个 area
,我想用以下代码填充它,但是
当我运行程序时,我的 view
除了空控件外什么都不显示。它返回 string
没有任何问题,但 viewmodels
我的viewmodel
如下:
public class AddQuestionsviewmodel
{
[required]
[MinLength(20)]
public string Question { get; set; }
[required]
[MinLength(50)]
public string Answer { get; set; }
public string Category { get; set; }
public int CategoryId { get; set; }
public SelectList Categories { get; set; }
public DateTime DateTime { get; set; }
public bool Isdisplayed { get; set; }
public int UserId { get; set; }
}
我的view
:
@model MosahebeClient.Areas.Admin.Models.AddQuestionsviewmodel
@{
ViewData["Title"] = "Create";
Layout = "~/Areas/Admin/Views/Shared/_AdminLayout.cshtml";
}
<div class="row">
<div class="col-md-4">
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Question" class="control-label"></label>
<input asp-for="Question" class="form-control" />
<span asp-validation-for="Question" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Answer" class="control-label"></label>
<input asp-for="Answer" class="form-control" />
<span asp-validation-for="Answer" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Category" class="control-label"></label>
<input asp-for="Category" class="form-control" />
<span asp-validation-for="Category" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="CategoryId" class="control-label"></label>
<input asp-for="CategoryId" class="form-control" />
<span asp-validation-for="CategoryId" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="DateTime" class="control-label"></label>
<input asp-for="DateTime" class="form-control" />
<span asp-validation-for="DateTime" class="text-danger"></span>
</div>
<div class="form-group form-check">
<label class="form-check-label">
<input class="form-check-input" asp-for="Isdisplayed" /> @Html.displayNameFor(model => model.Isdisplayed)
</label>
</div>
<div class="form-group">
<label asp-for="UserId" class="control-label"></label>
<input asp-for="UserId" class="form-control" />
<span asp-validation-for="UserId" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
</div>
</div>
<div>
我的Controller
:
[Area("Admin")]
public ActionResult Create()
{
AddQuestionsviewmodel model = new AddQuestionsviewmodel();
model.Categories = new SelectList(_categoryRepository.GetAll(),"Id","Name");
return View(model);
}
解决方法
是否要向视图添加下拉列表?如果是这样,您可以在视图中添加以下代码。
//...
<select asp-items="@Model.Categories">
<option>Please select a option</option>
</select>
//...