【发布时间】:2020-05-10 19:10:58
【问题描述】:
当我尝试访问由布局记录的用户配置文件时,会出现此错误。我想查看特定用户的详细信息,对其进行编辑或删除,因此我需要将 id 发送到视图,我正在尝试在控制器中使用此功能:
public IActionResult PerfilSocio( HttpContext contexto,int? id)
{
int x = Convert.ToInt32(contexto.Session.GetInt32("UserId"));
if (id == x)
{
foreach (var item in _context.Socios)
{
if (item.Idsocio == x)
{
var y = item;
return View(y);
}
}
}
else
{
return View("NaoEncontrado");
}
return View();
}
在我看来是这样的:
@model WebApplication1.Models.Socios
@{
ViewData["Title"] = "PerfilSocio";
}
<style>
body {
padding-top: 0px;
background-color: gray;
background-image: url();
background-image: url();
background-repeat: no-repeat;
}
</style>
<h1 style="color:white;"> <b>LabGym</b> </h1>
<p style="text-align:right;color:white;">
<i class="material-icons">✍</i>
<a href="~/Mensagems/VerMensagem"> Mensagens </a>
</p>
<br />
<div>
<hr />
<dl class="row">
<dt class="col-sm-2">
@*@Html.DisplayNameFor(model => model.Fotografia)*@
</dt>
<dd class="col-sm-10">
<img src="~/Fotos/ + model.Fotografia " />
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Email)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Email)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Telefone)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Telefone)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Sexo)
</dt>
<dd class="col-sm-10">
@*@Html.DisplayFor(model => model.Sexo)*@
@if (@Html.DisplayNameFor(model => model.Sexo) == "0")
{
<p>Feminino</p>
}
else
{
<p>Masculino</p>
}
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Altura)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Altura)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.NomeUtilizador)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.NomeUtilizador)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.PesoInicial)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.PesoInicial)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Estado)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Estado)
</dd>
</dl>
</div>
<div>
<a asp-action="Edit" asp-route-id="@Model.Idsocio">Editar perfil</a> |
</div>
<br />
<br />
<br />
<br />
谁能帮我纠正这个错误?
InvalidOperationException:无法创建“Microsoft.AspNetCore.Http.HttpContext”类型的实例。模型绑定的复杂类型不能是抽象类型或值类型,并且必须具有无参数构造函数。或者,给“contexto”参数一个非空的默认值。
【问题讨论】:
标签: c# html asp.net-core