【发布时间】:2016-02-15 16:07:32
【问题描述】:
我想知道如何通过使用实体框架正确单击将数据从右侧更改为左侧。数据是西班牙文,抱歉,我无法更改。
这是我的视图,我只能更改在英文标题和内容中表示的“Titulo”,但我的 DateTime 和我的图像有问题,它们成为相关表和 int 数据。 Id 发生了变化,因为它出现在右侧(我不想在右侧显示 Image 和 Id 数据)。
为了显示主要图像,我使用 @foreach 从名为“Noticias1”的第二个表中获取数据,这意味着在英语 News1 中,每个新闻的图像数据在哪里,if (img != null && img.Nombre.Equals(@principalId+"_0")) 只显示主要图像等于所选Id的Img(我会在内容后面显示其他Img。)
这里是代码
@foreach (var n in Model)
{
var img = n.Noticias2.FirstOrDefault();
if (img != null && img.Nombre.Equals(@principalId+"_0"))
{
var imgRuta = @img.Ruta+@img.Nombre+@img.Extension;
<img id="currentprincipalImagen" src="@imgRuta" class="img-responsive" alt="Imagen de Marte" />
<figcaption>
<p id="currentPrincipalImagenTitulo">@img.Descripcion</p>
</figcaption>
}
}
这是我的完整视图代码
@{
var format = "dddd, MMMM dd, yyyy";
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_LayoutPage.cshtml";
int principalId = Model[0].IdNoticia;
string principalTitulo = Model[0].Titulo;
string principalContenido = Model[0].Contenido;
DateTime principalFechaDesde = Convert.ToDateTime(Model[0].FeDesde);
DateTime principalFechaHasta = Convert.ToDateTime(Model[0].FeHasta);
}
<script type="text/javascript">
function changeDisplay(e) {
var principalTitulo = $(e).text();
var principalContenido = $(e).siblings(".Contenido:first").html();
var principalId = $(e).siblings(".IdNoticia:first").html();
var principalFechaDesde = $(e).siblings(".FeDesde").html();
$("#currentprincipalTitulo").html(principalTitulo);
$("#currentprincipalContenido").html(principalContenido);
$("#currentprincipalId").html(principalId);
$("#currentprincipalFechaDesde").html(principalFechaDesde);
}
</script>
<!-- Principal -->
<div class="col-md-12 main">
<div class="header sec-title-hd">
<div class="bg-calendar"></div>
<div class="col-md-7">
<h5 class="pull-left">NOTICIAS</h5>
<div>
<a href="dashboard.html" class="btn sky-blue n-radius-b"> <img src="slider/img/arrow-left.png"> VOLVER</a>
</div>
</div>
</div>
<div class="content-inter">
<div class="container-fluid sec-title-hd-sub">
<div class="row">
<div class="col-md-7">
<div>
<figure class="img_N">
@foreach (var n in Model)
{
var img = n.Noticias2.FirstOrDefault();
if (img != null && img.Nombre.Equals(@principalId+"_0"))
{
var imgRuta = @img.Ruta+@img.Nombre+@img.Extension;
<img id="currentprincipalImagen" src="@imgRuta" class="img-responsive" alt="Imagen de Marte" />
<figcaption>
<p id="currentPrincipalImagenTitulo">@img.Descripcion</p>
</figcaption>
}
}
</figure>
</div>
<div class="textnota">
<br>
<h6 id="currentprincipalId">@principalId</h6>
<h5 id="currentprincipalTitulo" class="titulo_N uppercase">@principalTitulo</h5>
<p id="currentprincipalFechaDesde" class="time">FeDesde: @principalFechaDesde.ToString(format)</p>
<div class="noti_P">
<p id="currentprincipalContenido">@principalContenido</p>
</div>
</div>
</div>
<div class="col-md-5">
<!-- Right Side -->
@foreach (var n in Model)
{
<blockquote class="blockquote-nopadding bg-calendar-border-left">
<h6 class="IdNoticia">@n.IdNoticia</h6>
<p class="time_f feDesde">@n.FeDesde.ToString(format)</p>
<a href="#" onclick="changeDisplay(this)" class="titulo_N">@n.Titulo</a>
<p class="text-justify limit Contenido">@n.Contenido</p>
</blockquote>
}
Págnia @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) de @Model.PageCount
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }))
<div>
</div>
</div>
</div>
</div>
</div>
</div>
谢谢。我知道在我的 Jquery 脚本代码中我没有更改图像的内容,但我删除了它,因为我无法将 Id 更改为左侧的 @foreach 以更改我的主图像。我的英语不好,希望你能理解我。
如果我单击第一个 Id = 1 的关系,我想从该 Id 获取图像,并且 Id = 2、3、4...
【问题讨论】:
-
那么你的问题是什么?
-
那我做的不对,如果你看到我点击了 ID 为 2 的新图片,它有来自 ID 1 的数据。
-
@Mehmet Jquery 代码只复制右侧数据并在左侧数据中更改它,但有些信息不在右侧,我不想在那里显示,所以我不能为此执行相同的代码。
-
你找到答案了吗?
-
@Mehmet 是 50% 我自己,现在我正在寻找更改图像的逻辑。之后我会发布我的解决方案。
标签: javascript c# jquery asp.net-mvc entity-framework