sql - 根据点击的电影填充VIEW数据

标签 sql asp.net .net sql-server model-view-controller

我正在制作一个电影评论网站(没有 Entity Framework )(不打算使用它)

我有一个存储过程来填充电影的信息: Movie slider

下面这段代码:是我如何根据下面的查询获取电影信息

<div class="panel panel-default" style="background-color:white;">
                    <div class="panel-body">

                        <div style="height:400px; width:100%;">
                            <section class="center slider" style="width: 88%;">
                                @*Aqui va el poster de reviews recientes*@
                                @foreach (var poster in Model.LGetLastReviews)
                                {
                                    <div>
                                        <a href="/Review/Review/?=@poster.Id" id="tag<%=count++%" name="@poster.Id">
                                        <img class="sizecool hvr-shrink" src="@Href("~/Content/"+@poster.Path )"/>
                                        </a>
                                        <div class="subtitulo">

                                            @poster.Title
                                            @poster.Date
                                        </div> 
                                    </div>
                                }

                            </section>

                        </div>

                    </div>
                </div>

这里是查询:

CREATE PROCEDURE [dbo].[GetLastReviews] @Top bigint
AS
BEGIN
SELECT TOP(@Top) Movie.Id, MOVIE.title, Poster.path_image, review.comment, review.Date from review
inner join movie on review.Movie_Id = movie.Id
inner join poster on movie.Id = poster.Movie_Id
order by review.Date desc 
END

现在真正的问题是:如何根据用户点击的内容填充其他 View ? 获取 img id、name..etc 并填充此 View :

Movie information

类(class):

 public class GetLastReviews
    {
        public long Id  { get; set; }
        public string Title { get; set; }
        public string Path { get; set; }
        public string Comment { get; set; }

        public DateTime Date { get; set; }

    }




public static List<GetLastReviews> GetLastReviews(int top)
        {
            List<GetLastReviews> lastReviewses= new List<GetLastReviews>();
            SqlConnection connection = new SqlConnection(StrConnection);
            string cmd = "GetLastReviews";
            SqlCommand sqlCmd = new SqlCommand(cmd, connection);
            sqlCmd.CommandType = CommandType.StoredProcedure;
            sqlCmd.Parameters.Add("@Top", SqlDbType.VarChar).Value = top.ToString();
            connection.Open();
            SqlDataReader dr = sqlCmd.ExecuteReader();
            while (dr.Read())
            {
                GetLastReviews getLasR = new GetLastReviews();
                getLasR.Id = long.Parse(dr["Id"].ToString());
                getLasR.Title = dr["Title"].ToString();
                getLasR.Path = dr["Path_Image"].ToString();
                getLasR.Comment = dr["Comment"].ToString();
                getLasR.Date = DateTime.Parse(dr["Date"].ToString());
                lastReviewses.Add(getLasR);
            }
            connection.Close();
            return lastReviewses;

        }

最佳答案

只需将 div 的点击事件上的一个函数与 uniqueId(MovieId 或任何) 绑定(bind)在一起,如下所示。

@foreach (var poster in Model.LGetLastReviews)
{
 <div onclick="GoToMovieDetail(@Model.MovieId)">
     <a href="/Review/Review/?=@poster.Id" id="tag<%=count++%" name="@poster.Id">
    <img class="sizecool hvr-shrink" src="@Href("~/Content/"+@poster.Path )"/>
                                        </a>
    <div class="subtitulo">
        @poster.Title
        @poster.Date
    </div> 
 </div>
}

在 Javascript 中创建一个函数,如下所示。

function GoToMovieDetail(id)
{
  if(id != null)
  {
    var url = "@Url.Action("DisplayMovieDetailActionName", "MovieControllerName")" + "?MovieId=" + id;
    window.location.href = url;
  }
}

在您的 Controller 中创建一个 Action ,以根据下面参数中请求的 Id 获取电影详细信息。

public ActionResult DisplayMovieDetail(int id)
{
   MovieModel model = new MovieModel();

   // Get the detail of moview based on requested id in action parameter.
   // Bind MovieModel object.
   // Pass thid object in your return View.
   // In view you need to just bind the model data.

   return View(model);
}

关于sql - 根据点击的电影填充VIEW数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44255623/

相关文章:

.net - 如何使用 WCF 服务引用发送 HTTP 身份验证凭据

python - 将 Access 查询转换为 Python 脚本

sql - 为什么我会导致聚集索引更新?

C# Gridview 标题样式不适用于排序

c# - 这是冗余代码吗?

c# - asp.net MVC 如何从 POST 接收数据

.net - "Level Generation"疯狂病毒游戏算法

c# - 指定用于 WSHttpBinding 客户端连接的 SSL 协议(protocol)版本

MYSQL 从表中删除第一个重复项

mysql - 获取时间之间的行