尝试从Blazor开始。我参加了Weatherforecast项目,并尝试使用@HTML添加一个保管箱。都非常标准。但是,我确实不断收到错误消息,即@html在当前上下文中不存在。之前曾有人问过这个问题,但我确实看到过类似问题的警告,但尚未找到好的答案。我确实将System.Web.MVC添加到Imports.razor表中。也作为组件添加。我在nuget找不到dll,所以我从以下目录获取它:C:\ Program Files(x86)\ Microsoft VisualStudio \ 2019 \ Community \ Common7 \ IDE \ CommonExtensions \ Microsoft \ Web \ Razor \ v3.0 \ MVC5 .2.2。
我重建了项目,获取了VS 2109的最新更新。我仍然似乎无法为@html访问正确的dll。任何帮助将不胜感激。
阿诺德
''' @page“ / fetchdata” @使用VAblazor.Data @使用System.Web.Mvc.Html @using System.Web.Mvc
@inject VAEntryService VAService
//下拉菜单将无法正常运行,只是这会导致错误
@Html.DropDownList("StudentGender",
new SelectList(Enum.GetValues(typeof(Gender))),
"Select Gender",
new { @class = "form-control" })
'''
答案 0 :(得分:1)
您不能在Blazor中使用HTML帮助器... 您应该学习Component模型...如何创建组件,以及如何将html元素(例如select,button等)嵌入其中。
除了使用常见的html元素外,您还可以使用表示这些html元素的Blazor Forms组件,例如InputText和InputSelect。
根据请求,以下代码创建一个带有select元素的组件:
@page "/countries"
@if (countries == null)
{
<p><em>Loading...</em></p>
}
else
{
<select id="countries" onchange="@CountrySelectionChanged">
<option></option>
@foreach (var country in countries)
{
<option value="@country.ID">@country.Name</option>
}
</select>
}
@code
{
// Here you should have code that retrieve a list of counties from a data store.
}