Mon projet est un site de révision sur les films, les séries et les acteurs. J'ai déjà des films, des séries et des acteurs effectués (index, détails, éditez et supprimez), avec les contrôleurs appropriés et tout. Mais maintenant j'essaie de créer des boutons "générer des films aléatoires" et de "générer des boutons de série aléatoire" dans la vue d'accueil, de sorte que lorsque je clique dans ce bouton, il me redirige dans un film / une série aléatoire.
donc l'URL devrait aller de Je n'ai rien à la maison Contrôleur, sauf la vue de retour () dans la classe d'index. P> Je voudrais donc savoir, que dois-je mettre dans le contrôleur et dans le bouton ActionLink / Bouton pour la rediriger vers le film aléatoire. p> Edit: p> Modèles:
Modèle de film: p> home / index code> à
films / détails / "ID aléatoire" code> (identique pour la série). P>
<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>
4 Réponses :
Vous devez ajouter '/' dans URL
@Html.ActionLink("Something", "/Movies/Details")
Il génère cette URL: home / films / détails code>. Je veux "quitter" le contrôleur domestique et aller au cinémaController
Ensuite, vous devez d'abord aller sur la racine. @ Html.actionLink ("quelque chose", "~ / films / détails"), Ajout tilde
Il redirige vers cette URL: http: // localhost: **** / Accueil / ~ / Films / Détails Code>
Pourriez-vous s'il vous plaît partagez votre routageConfig.cs?
Bien sûr, je vais l'ajouter à la question. c'est celui qui vient avec mvc
Si vous avez un autre contrôleur nommé Cela signifie que vous souhaitez générer un lien vers une méthode nommée FilmsController Code> Je vous recommande d'écrire votre ancre comme p>
@ html.actionLink ("ActionLinkname", "Détails", "Films", Nouveau {id = item.movieid}); Code> P>
Détails code> Intérieur
FilmsController code> qui accepte un paramètre nommé
ID p>. p>. P>.
D'accord, j'ai essayé votre méthode, mais je n'ai encore rien dans mon contrôleur, alors je ne sais donc pas si cela fonctionnera. Je mettrais du code dans le contrôleur, mais je dois savoir comment le faire pour les séries et les films en même temps (que je ne sais pas encore).
Pouvez-vous nous donner plus de détails sur le problème? Voulez-vous créer un lien d'action vers un contrôleur qui n'existe pas pour le moment?
Pouvez-vous nous envoyer votre série de classes et votre film, je suppose que le problème que vous ne savez pas de générer l'identifiant aléatoire, puis de générer la vue nécessaire, je me trompe?
@matt sa jolie semblable à ce que vous avez dit. Je vais éditer la question à une question plus détaillée.
J'ai mis à jour votre code, essayez ceci: Ceci permettra également à votre lien ressemble à un bouton réel. P> P>
Alors,
Tout d'abord, vous avez besoin de votre page d'accueil un lien vers le contrôleur qui générera votre page aléatoire, cette ligne a été envoyée par Saqib Abbas P> Suivant sur votre cinémaController p> Créer une méthode P> 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)
}
Je n'ai pas de classe spécialement pour le film et la série. J'ai un contrôleur complet pour chacun d'eux. Voulez-vous que je pleure une partie spécifiée du contrôleur ici? (Je vais mettre à jour, avec ce que je sais que je peux vous donner maintenant).
Donc, des films et des séries sont stockés dans la même table? Mais vous avez 2 contrôleurs? Pourquoi ne pas utiliser le même contrôleur et la même page?
Oh, attends, je suis tellement confus. Nah, j'ai 2 tables différentes. Les modèles sont dans la question
Comme, il n'y a aucun moyen de simplement rediriger vers le contrôleur de films, les détails, puis un identifiant aléatoire de la table?
Pouvez-vous fournir plus de code de rasoir? Sans cela, nous ne savons pas comment vous pouvez obtenir l'identifiant qui vous manque.
@Cibotariuflorin je vais éditer la question