【发布时间】:2020-05-13 17:55:17
【问题描述】:
我在呈现特定表格元素的数据时遇到问题。该程序允许登录和注销。 所以我有私人教练课程
[Table("Personal_trainer")]
public partial class PersonalTrainer
{
[Key]
[Column("IDProfessor")]
public int Idprofessor { get; set; }
[Key]
[Column("IDSocio")]
public int Idsocio { get; set; }
[Key]
[Column("Data_Pedido", TypeName = "date")]
public DateTime DataPedido { get; set; }
[Column("data_Inicio", TypeName = "date")]
public DateTime? DataInicio { get; set; }
[Column("data_fim", TypeName = "date")]
public DateTime? DataFim { get; set; }
[ForeignKey(nameof(Idprofessor))]
[InverseProperty(nameof(Professores.PersonalTrainer))]
public virtual Professores IdprofessorNavigation { get; set; }
[ForeignKey(nameof(Idsocio))]
[InverseProperty(nameof(Socios.PersonalTrainer))]
public virtual Socios IdsocioNavigation { get; set; }
}
}
我有 Socios 课程
public partial class Socios
{
public Socios()
{
Gerir = new HashSet<Gerir>();
Mensagem = new HashSet<Mensagem>();
Participa = new HashSet<Participa>();
PersonalTrainer = new HashSet<PersonalTrainer>();
Peso = new HashSet<Peso>();
PlanosExercicios = new HashSet<PlanosExercicios>();
}
[Key]
[Column("IDSocio")]
public int Idsocio { get; set; }
[Required]
[Column("email")]
[StringLength(100)]
public string Email { get; set; }
[Required]
[Column("telefone")]
[StringLength(20)]
public string Telefone { get; set; }
[Required]
[Column("fotografia")]
[StringLength(40)]
public string Fotografia { get; set; }
[Column("sexo")]
public bool Sexo { get; set; } // true- Feminino
// false" - Masculino
[Column("altura")]
public double Altura { get; set; }
[Required]
[Column("nome_utilizador")]
[StringLength(50)]
public string NomeUtilizador { get; set; }
[Column("peso_inicial")]
public double PesoInicial { get; set; }
[Required]
[Column("_password")]
[StringLength(20)]
public string Password { get; set; }
[Column("estado")]
public int Estado { get; set; } // 1 ativo, 0 suspenso
//[Column("mensalidade")]
//public bool Mensalidade { get; set; } //0-nao pago 1-pago
[InverseProperty("IdsocioNavigation")]
public virtual ICollection<Gerir> Gerir { get; set; }
[InverseProperty("IdsocioNavigation")]
public virtual ICollection<Mensagem> Mensagem { get; set; }
[InverseProperty("IdsocioNavigation")]
public virtual ICollection<Participa> Participa { get; set; }
[InverseProperty("IdsocioNavigation")]
public virtual ICollection<PersonalTrainer> PersonalTrainer { get; set; }
[InverseProperty("IdsocioNavigation")]
public virtual ICollection<Peso> Peso { get; set; }
[InverseProperty("IdsocioNavigation")]
public virtual ICollection<PlanosExercicios> PlanosExercicios { get; set; }
}
}
还有教师课
public partial class Professores
{
public Professores()
{
MapaAulasGrupo = new HashSet<MapaAulasGrupo>();
Mensagem = new HashSet<Mensagem>();
PersonalTrainer = new HashSet<PersonalTrainer>();
Peso = new HashSet<Peso>();
PlanosExercicios = new HashSet<PlanosExercicios>();
}
[Key]
[Column("IDProfessor")]
public int Idprofessor { get; set; }
[Required]
[Column("nome")]
[StringLength(50)]
public string Nome { get; set; }
[Required]
[Column("email")]
[StringLength(100)]
public string Email { get; set; }
[Column("telefone")]
public int Telefone { get; set; }
[Required]
[Column("fotografia")]
public string Fotografia { get; set; }
[Column("sexo")]
public bool Sexo { get; set; }
[Required]
[Column("especialidade")]
[StringLength(50)]
public string Especialidade { get; set; }
[Column("estado")]
public int Estado { get; set; }
[Required]
[Column("_password")]
[StringLength(20)]
public string Password { get; set; }
[InverseProperty("IdprofessorNavigation")]
public virtual ICollection<MapaAulasGrupo> MapaAulasGrupo { get; set; }
[InverseProperty("IdprofessorNavigation")]
public virtual ICollection<Mensagem> Mensagem { get; set; }
[InverseProperty("IdprofessorNavigation")]
public virtual ICollection<PersonalTrainer> PersonalTrainer { get; set; }
[InverseProperty("IdprofessorNavigation")]
public virtual ICollection<Peso> Peso { get; set; }
[InverseProperty("IdprofessorNavigation")]
public virtual ICollection<PlanosExercicios> PlanosExercicios { get; set; }
}
}
所以我希望当我以会员身份登录时,我可以通过列表查看注册教师的个人资料并详细选择并查看。问题是视图出现了,但只显示字段的名称 数据不出现。 我想通过我的个人资料(以合作伙伴身份登录)查看我的私人教练的个人资料。 在 Socios 控制器中,我有这个功能,以便向我展示我的私人教练的个人资料。通过这个方法,我创建了一个视图详细信息。
public IActionResult VerPT(PersonalTrainer personalTrainer, Professores professores, int? id)
{
int x = Convert.ToInt32(HttpContext.Session.GetInt32("UserId"));
foreach (var item in _context.Socios)
{
if (item.NomeUtilizador == User.Identity.Name)
{
personalTrainer.Idsocio = item.Idsocio;
personalTrainer.Idprofessor = professores.Idprofessor;
id = personalTrainer.Idprofessor;
}
}
return View(personalTrainer);
}
在控制器老师我有这个功能为了能够看到老师的个人资料,通过这个方法我创建了一个查看详细信息。
public async Task<IActionResult> VerProfessor(int? id)
{
if (id == null)
{
return NotFound();
}
var professores = await _context.Professores
.FirstOrDefaultAsync(m => m.Idprofessor == id);
if (professores == null)
{
return NotFound();
}
return View();
}
在verPT视图中我有
@model WebApplication1.Models.PersonalTrainer
@{
ViewData["Title"] = "VerPT";
}
<style>
body {
padding-top: 0px;
background-color: darkgray;
background-image: url();
background-image: url();
background-repeat: no-repeat;
}
</style>
<div>
<h4>Personal Trainer</h4>
<hr />
<dl class="row">
<dt class = "col-sm-2">
Data de inicio :
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.DataInicio)
</dd>
<dt class = "col-sm-2">
Email
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.IdprofessorNavigation.Email)
</dd>
</dl>
</div>
<div>
<a asp-action="PerfilSocio">Voltar</a>
</div>
在教授看来,我有
@model WebApplication1.Models.Professores
@{
ViewData["Title"] = "VerProfessor";
}
<style>
body {
padding-top: 0px;
background-color: gray;
background-image: url();
background-image: url();
background-repeat: no-repeat;
}
</style>
<br />
<br />
<div style="color:white">
<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>
<br />
<p>Contactos </p>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Nome)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Nome)
</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">
@if (@Html.DisplayNameFor(model => model.Sexo) == "true")
{
<p>Feminino</p>
}
else
{
<p>Masculino</p>
}
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Especialidade)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Especialidade)
</dd>
</dl>
</div>
<div>
<a asp-action="ListarProfessores">Voltar < </a>
</div>
<br />
<br />
<br />
<br />
<br />
<br />
【问题讨论】:
-
在选择标签时请小心,不要选择e.g. C 语言标记而不是 C# 标记。
-
你能告诉我你对
VerProfessor和VerPT的看法吗? -
也是吗? VerPt 功能是为了让我可以看到我的私人教练的资料,而verprofessor 功能是为了通过列表我可以看到该老师的详细信息,当我以合作伙伴身份登录时,我想这样做,但是视图中的字段显示没有数据
-
@rsd_17 是的,这会有所帮助,因为我需要查看您将什么模型发送到
Views,以及您如何在 html 标签中构建模型数据 -
也就是想看看VerPT和verprofessor是怎么看的?
标签: html asp.net-core