ASP.Net MVC:如何进行提取和自动数据映射
ASP.Net MVC : How to do extract and automatic data mapping
假设我有 link 喜欢 www.mysite.com/Certificate/data/C001-P2003
我的控制器名称是证书和操作名称数据
public class CertificateController : Controller
{
public ActionResult Data(string certid,string studid)
{
return View();
}
}
我想知道我需要开发什么,它将提取 id 并将其分成由连字符分隔的两部分,并将两个数据映射到数据操作。
C001 将映射到 certid,P2003 将映射到 studid。所以我需要概念如何去做?
我需要开发任何动作过滤器吗?
我需要编写任何自定义值提供程序吗?
我需要编写任何自定义模型活页夹吗?
我不想破坏动作中的数据,而是想在动作之外进行操作。所以建议我一些最好的主意。谢谢
在您的 RouteConfig
中创建一个约定来映射您想要的路线。
routes.MapRoute(
name: "CertificateData",
url: "Certificate/data/{certid}-{studid}",
defaults: new { controller = "Certificate", action = "Data"}
);
或者启用属性路由并使用模板操作来匹配所需的url
// GET Certificate/data/C001-P2003
[Route("Certificate/data/{certid}-{studid}")]
public ActionResult Data(string certid,string studid) {...}
假设我有 link 喜欢 www.mysite.com/Certificate/data/C001-P2003
我的控制器名称是证书和操作名称数据
public class CertificateController : Controller
{
public ActionResult Data(string certid,string studid)
{
return View();
}
}
我想知道我需要开发什么,它将提取 id 并将其分成由连字符分隔的两部分,并将两个数据映射到数据操作。
C001 将映射到 certid,P2003 将映射到 studid。所以我需要概念如何去做?
我需要开发任何动作过滤器吗?
我需要编写任何自定义值提供程序吗?
我需要编写任何自定义模型活页夹吗?
我不想破坏动作中的数据,而是想在动作之外进行操作。所以建议我一些最好的主意。谢谢
在您的 RouteConfig
中创建一个约定来映射您想要的路线。
routes.MapRoute(
name: "CertificateData",
url: "Certificate/data/{certid}-{studid}",
defaults: new { controller = "Certificate", action = "Data"}
);
或者启用属性路由并使用模板操作来匹配所需的url
// GET Certificate/data/C001-P2003
[Route("Certificate/data/{certid}-{studid}")]
public ActionResult Data(string certid,string studid) {...}