【问题标题】:How to Change Data from the right side to the left by clicking using EF如何通过单击使用 EF 将数据从右侧更改为左侧
【发布时间】: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


【解决方案1】:

我找到了自己的解决方案,问题出在我的 Jquery 代码中。也许这不是在实体框架中做到这一点的最佳方法,但这就是我解决这个问题的方法。 (如果你有更好的方法请分享)。

这是我的完整新代码。

@{
    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").val(); 
        var principalId = $(e).siblings(".IdNoticia:first").val(); 
        var principalFechaDesde = $(e).siblings(".FeDesde:first").val();
        var principalFechaHasta = $(e).siblings(".FeHasta:first").val();
        var principalDescripcion = $(e).siblings(".Descripcion:first").val();
        var principalImagen = $(e).siblings(".imgRuta").val();


        $("#currentprincipalTitulo").html(principalTitulo);
        $("#currentprincipalContenido").html(principalContenido);
        $("#currentprincipalId").html(principalId);
        $("#currentprincipalFechaDesde").html(principalFechaDesde);
        $("currentprincipalFechaHasta").html(principalFechaHasta);
        $("#currentprincipalDescripcion").html(principalDescripcion);
        $("#currentprincipalImagen").attr("src", principalImagen);
    }
</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")) 
                                {
                                    <img id="currentprincipalImagen" src="@img.Ruta@img.Nombre@img.Extension" class="img-responsive" alt="@img.Nombre" />
                                    <figcaption>
                                        <p id="currentprincipalDescripcion">@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">Desde: @principalFechaDesde.ToString(format)</p> 
                        <p id="currentprincipalFechaHasta" class="time">Hasta: @principalFechaHasta.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)
                    {
                        <!-- Data mostrada -->
                        <blockquote class="blockquote-nopadding bg-calendar-border-left">
                            <p class="time_f">@n.FeDesde.ToString(format)</p>
                            <a href="#" onclick="changeDisplay(this)" class="titulo_N">@n.Titulo</a>
                            <p class="text-justify limit">@n.Contenido</p>

                            <!--Data Enviada al lado Izquierdo-->
                            <input class="IdNoticia" type="hidden" value="@n.IdNoticia" />
                            <input class="Contenido" type="hidden" value="@n.Contenido" />
                            <input class="FeDesde" type="hidden" value="Desde: @n.FeDesde.ToString(format)" />
                            <input class="FeHasta" type="hidden" value="Hasta: @n.FeHasta.ToString(format)" />
                            @foreach (var img in n.Noticias2)
                            {
                                var imgRuta = @img.Ruta + @img.Nombre + @img.Extension;
                                <input class="Descripcion" type="hidden" value="@img.Descripcion" />

                                <input class="imgRuta" type="hidden" value="@imgRuta" />
                            }

                        </blockquote>

                    }
            </div>
        </div>
    </div>
</div>

这里是新视图,

注意左边的所有数据都来自id 2。

【讨论】:

    猜你喜欢
    • 2012-10-20
    • 2012-10-09
    • 2021-07-07
    • 1970-01-01
    • 2022-08-21
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多