我的项目是有关电影,电视剧和演员的评论网站。 我已经完成了电影,系列和演员的观看(索引,详细信息,编辑和删除),并带有正确的控制器和所有内容。但是现在我试图在主视图中创建“生成随机电影”和“生成随机序列”按钮,以便当我单击该按钮时,它会将我重定向到随机电影/序列。
因此,URL应该从Home/Index
到Movies/Details/"Random Id"
(系列相同)。
除了索引类中的View()返回之外,Home Controller中没有任何内容。
所以我想知道,我应该在控制器和Actionlink /按钮中放些什么,以将其重定向到随机电影。
编辑:
型号: 电影模特:
public class MovieViewModel
{
public int MovieID { get; set; }
public string MovieName { get; set; }
public string MovieDescription { get; set; }
public string MovieCategory { get; set; }
public string MovieYear { get; set; }
}
系列模型:
public class SeriesViewModel
{
public int SerieID { get; set; }
public string SerieName { get; set; }
public string SerieCategory { get; set; }
public string SerieDescription { get; set; }
public string SerieYear { get; set; }
}
这是“电影查看”的详细信息(系列几乎相同)
<div>
<hr />
<dl class="dl-horizontal">
<dt>
<p>Movie Name: </p>
<p> </p>
</dt>
<dd>
@Html.DisplayFor(model => model.MovieName)
</dd>
<dt>
<p>Movie Description: </p>
<p> </p>
</dt>
<dd>
@Html.DisplayFor(model => model.MovieDescription)
</dd>
<dt>
<p>Category: </p>
<p> </p>
</dt>
<dd>
@Html.DisplayFor(model => model.MovieCategory)
</dd>
<dt>
<p>Year of the movie: </p>
<p> </p>
</dt>
<dd>
@Html.DisplayFor(model => model.MovieYear)
</dd>
</dl>
</div>
<p>
@Html.ActionLink("Edit", "Edit", new { id = Model.MovieID }) |
@Html.ActionLink("Back to List", "Index")
</p>
答案 0 :(得分:2)
您需要在网址中添加“ /”
@Html.ActionLink("Something", "/Movies/Details")
答案 1 :(得分:1)
所以
首先,您需要在主视图中链接到将生成随机页面的控制器的链接,此行由Saqib abbas发送
@Html.ActionLink("Something", "/Movies/Details")
MoviesController上的下一个
创建方法
public ActionResult Details()
{
// First we'll determine if we return a movie or a serie
Random movieOrSerie = new Random();
int movieOrSerie = random1.Next(1, 2);
if(movieOrSerie == 1) // if 1 we'll search for a random Movie
{
var movies = //get your list of movies here
Random movieIndex = new Random();
int movieIndex = random1.Next(0, movies.Count);
var movie = movies.ElementAt(movieIndex);
}
else // same for series
{
var series = //get your list of series here
Random serieIndex = new Random();
int serieIndex = random1.Next(0, series.Count);
var serie = series.ElementAt(serieIndex);
}
// then you have to put the serie or movie in your viewModel
return View("ViewName", ViewModel)
}
这不是最漂亮的方法,将您的Movie Serie以及父类(如果存在),模型和“详细信息”页面的视图发送给我们,我将更新此答案。
答案 2 :(得分:0)
如果您有另一个名为MoviesController
的控制器,建议您将锚写为
@Html.ActionLink("ActionLinkName", "Details", "Movies", new { id = item.MovieID });
这意味着您想在Details
内生成指向名为MoviesController
的方法的链接,该方法接受名为id
的参数。
答案 3 :(得分:0)
我已经更新了您的代码,请尝试以下操作:
<div class="row">
<div class="col-md-4">
<h2>Random Movie Generator</h2>
<p>
</p>
@Html.ActionLink("Somethin", "Movies","Details",new { id = item.MovieID},new {@class= "btn btn-success" })
</div>
这还将使您的链接看起来像一个实际的按钮。