컨트롤러 기본 클래스가 작업 링크에서 매개 변수에 액세스 할 수 있습니까? 그렇다면 내 기본 컨트롤러에서 해당 매개 변수에 액세스하는 방법은 무엇입니까?기본 클래스 매개 변수 액세스
액션 링크 :
<%=Url.Action("Area_1419", "Home", new { SectionId = 1})%>
기본 컨트롤러 클래스 :
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();
}
}
}
귀하의 질문 .... 그것은 말이되지 않습니다. – Will
죄송합니다. 내가 가지고있는 문제는 Base Contoller 클래스의 Parameter SectionID에 액세스 할 수 없다는 것입니다. – Jemes
SectionId가 쿼리 문자열 매개 변수로 전달되고 있습니까? 루트 중 하나가 RouteData 인수로 선언하면 쿼리 문자열을 통해 전달되지 않습니다. –