Est-il possible pour une classe Controller Base d'accéder à un paramètre à partir d'une liaison d'action et si oui, comment puis-je accéder à ce paramètre dans mon contrôleur de base?Classe de base Accès à un paramètre
action Lien:
<%=Url.Action("Area_1419", "Home", new { SectionId = 1})%>
classe contrôleur base:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Website.Models;
namespace Website.Controllers
{
public abstract class CategoriesController : Controller
{
public CategoriesDataContext _dataContext = new CategoriesDataContext();
public CategoriesDataContext DataContext
{
get { return _dataContext; }
}
public void SectionID()
{
int SectionID = Convert.ToInt32(Request.QueryString["SectionID"]);
ViewData["SectionID"] = SectionID;
}
public CategoriesController2()
{
//ViewData["Categories"] = from m in _dataContext.Categories where m.Area_ID == SectionID select m;
//ViewData["Categories"] = from c in DataContext.Categories select c;
}
}
}
HomeContoller
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Website.Models;
using Website.ActionFilters;
namespace Website.Controllers
{
[HandleError]
public class HomeController : CategoriesController
{
public ActionResult Index()
{
return View();
}
public ActionResult About(int? SectionID)
{
//ViewData["Message"] = SectionID;
return View();
}
public ActionResult Area_1419(int SectionID)
{
return View();
}
public ActionResult Admin()
{
return View();
}
}
}
Votre question ... cela n'a aucun sens. – Will
Désolé. Le problème que je rencontre est que je ne peux pas accéder au Parameter SectionID dans ma classe Base Contoller. – Jemes
Etes-vous sûr que SectionId est passé en tant que paramètre de chaîne de requête? Si l'un de vos itinéraires le déclare comme argument RouteData, il ne sera pas transmis via la chaîne de requête. –