Ho sviluppato moduli ASP.NET per un po 'di tempo e ora sto cercando di imparare MVC, ma non ha assolutamente senso capire come farlo fare ciò che voglio. Forse ho bisogno di pensare alle cose in modo diverso. Ecco cosa sto cercando di fare con un esempio composto:MVC 4 Parziale con controller e vista separati
Obiettivo: utilizzare un file parziale, che può essere posizionato in qualsiasi punto del sito e accetta un parametro. Questo parametro verrà utilizzato per andare al database e ritrasferire il modello risultante alla vista. La vista mostrerà quindi una o più proprietà dei modelli.
Questo non è il mio codice, ma mostra quello che sto cercando di fare.
File: Controller/UserController.cs
[ChildActionOnly]
public ActionResult DisplayUserName(string userId)
{
MyDataContext db = new MyDataContext()
var user = (from u in db.Users where u.UserId = userId select u).FirstOrDefault();
return PartialView(user);
}
file: Vista/Shared/_DisplayUserName.cs
@model DataLibrary.Models.User
<h2>Your username is: @Model.UserName</h2>
File: Visualizzazioni/Chi/Index.cshtml
@{
ViewBag.Title = "About";
}
<h2>About</h2>
{Insert Statement Here}
So che a questo punto ho bisogno di rendere un partial chiamato DisplayUserName, ma come fa a sapere quale vista usare e come faccio passare il mio userId al parziale?
È quello che mi aspetto è una domanda molto semplice, ma devo ancora trovare un tutorial che copre questo.
Grazie in anticipo per il vostro aiuto.
Grazie per la risposta veloce e la risposta corretta - ha funzionato! Ho provato così tante deviazioni sulla struttura e su @ html.Options, ma nessuna ha funzionato. Sapevo che sarebbe stato semplice quando si sa come! Grazie ancora per il vostro aiuto. – McGaz