我已经搜索了该问题的许多答案(有人说即使这是一个错误),但我无法弄清楚我的问题在哪里。我已经清理了所有代码,但是当我看到视图时仍然有错误消息。在逐行调试中一切正常。但最终 YSOFD ......
这是我的代码:
控制器
[HttpPost]
public ActionResult Insert(FormCollection formCollection)
{
ViewBag.Tema = (new tema()).Css;
//Pega dados do formulário
foreach (string _formData in formCollection)
{
ViewData[_formData] = formCollection[_formData];
}
GameViewModel selectJogo = new sjnj.Models.GameViewModel();
string sqlJogo = "SELECT id,nome FROM Jogo where nome like '%" + ViewData["formNomeGame"].ToString() + "%' ORDER BY NOME";
DataTable dtBuscajogo = new DataAccess("mjnj").ExecuteDataTable(sqlJogo);
selectJogo.selectListajogo = new System.Data.DataTable();
selectJogo.selectListajogo.Columns.Add("id");
selectJogo.selectListajogo.Columns.Add("nome");
selectJogo.selectListajogo.Rows.Add("#", "Selecione...");
if (dtBuscajogo.Rows.Count > 0)
{
for (int i = 0; i < dtBuscajogo.Rows.Count; i++)
{
selectJogo.selectListajogo.Rows.Add(dtBuscajogo.Rows[i]["id"], dtBuscajogo.Rows[i]["nome"]);
}
}
else
{
ViewBag.MensagemError = "Nenhum jogo encontrado";
}
return View("Insert",selectJogo);
模型——请注意,我已经评论了所有内容
namespace sjnj.Models
{
public class GameViewModel
{
#region Inserir
//[Display(Name = "Adcionar jogo a sua coleção")]
//public string lblAdcionarJogo { get; set; }
//[Display(Name = "Digite o nome do jogo")]
//public string lblDigiteJogo { get; set; }
//[Display(Name = "Selecione o jogo")]
//public string lblSelecioneJogo { get; set; }
//[Display(Name = "descrição do jogo selecionado")]
//public string descrJogoSelecionado { get; set; }
//[Display(Name = "Jogo Selecionado")]
//public string nomeJogoSelecionado { get; set; }
// [Display(Name = "Saiba mais")]
//public string saibaMaisSele { get; set; }
//[Display(Name = "Jogo digitado pelo usuario")]
//public string formNomeGame { get; set; }
//[Display(Name = "Lista dos jogos")]
// public DataTable selectListajogo { get; set; }
#endregion
}
}
我的观点
@model sjnj.Models.GameViewModel
@{
Layout = "~/Views/Shared/_Home.cshtml";
}
这就是我唯一给出错误的观点。只有当我声明视图来填充数据时。
编辑:显式错误
传入字典的模型项的类型为“sjnj.Models.RegisterViewModel”,但此字典需要类型为“sjnj.Models.HomeViewModel”的模型项。