c# - 从类型“System.String”到类型“ModelsLibrary.Turno”的参数转换失败,因为没有类型转换器可以在这些类型之间进行转换
问题描述
我被这个难住了,你的帮助将不胜感激。
我得到错误:
从类型“System.String”到类型“ModelsLibrary.Turno”的参数转换失败,因为没有类型转换器可以在这些类型之间进行转换。
我将字典作为模型传递给视图,我想取回模型但出现错误....
有任何想法吗?
[HttpPost]
public async Task<IActionResult> Create(IDictionary<Turno, int> dicionario)
{
var turnodocente = new List<TurnoDocente>();
foreach (var item in dicionario)
{
turnodocente.Add(new TurnoDocente
{
TurnoId = item.Key.TurnoId,
DocenteId = item.Value
});
}
HttpResponseMessage responsemeta = await HttpRequestBuilder.WebApiClient.PostAsJsonAsync("api/TurnoDocente", turnodocente);
responsemeta.EnsureSuccessStatusCode();
return RedirectToAction(nameof(Index));
}
和视图
@model IDictionary<ModelsLibrary.Turno, List<int>>
@{
ViewData["Title"] = "Index";
}
<div class="row">
<div class="col-md-4">
<form asp-action="Index" method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label>Ano Letivo</label>
<select name="anoLetivo" class="form-control" asp-items="ViewBag.Ano"></select>
</div>
<div class="form-group">
<label>Ano Curricular</label>
<select name="ano" class="form-control">
<option>-Select-</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</div>
<div class="form-group">
<label>Semestre</label>
<select name="semestre" class="form-control">
<option>-Select-</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
<div class="form-group">
<input type="submit" value="Escolhido" class="btn btn-default" />
</div>
</form>
</div>
</div>
@if (Model.Count != 0)
{
<form asp-action="Create" method="post">
<table class="table">
<thead>
<tr>
<th>
<label>Disciplina</label>
</th>
<th>
<label>Turno</label>
</th>
<th>
<label>Tipologia</label>
</th>
<th>
<label>Docente</label>
</th>
</tr>
</thead>
<tbody>
@foreach (KeyValuePair<ModelsLibrary.Turno, List<int>> dvp in Model)
{
@Html.HiddenFor(x => dvp.Key.TurnoId)
<tr>
<td>
@Html.DisplayFor(modelItem => dvp.Key.MetaDisciplina.Nome)
</td>
<td>
@Html.DisplayFor(modelItem => dvp.Key.LetraTurno)
</td>
<td>
@Html.DisplayFor(modelItem => dvp.Key.Tipologia.Tipo)
</td>
<td>
<select name="nome" asp-items="ViewBag.Docente"></select>
</td>
</tr>
}
</tbody>
</table>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</form>
}
注意:我想知道是否可以从 type 获取参数,Dictionary<Turno, int>
因为我传递给了 view Dictionary<Turno, List<int>>
。
解决方案
推荐阅读
- visual-studio-extensions - 如何以编程方式获取 Visual Studio 使用的内置文件类型图标
- docker - Kubectl 随机返回“TLS 握手超时”(在 localhost K8s 上运行)
- javascript - jQuery使元素反复闪烁
- ios - 使用静态库创建通用框架
- php - 客户端和服务器 php 套接字
- c# - 保持图像前面的标签位置(拉伸模式是统一的)不管窗口 WPF 的大小调整
- docker - 如何重新连接到默认 docker 引擎
- r - 在多行文本上打印单个 tibble 行
- react-native - 为什么图像在 Android 上的 React Native 中有填充?
- django - 在 scrapy 管道中使用 Django 的应用程序模型会给出“应用程序尚未加载”异常