这样做,因为所有参数都将从 URL 映射。使用操作过滤器以您想要的方式映射数据。我没有完全测试过代码,但它会给出票价的想法。在您的操作上方添加此属性。
public ActionResult BlogEntry(int year, int month , int day , string title)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace OurAttributes
{
public class PopulateTitleDandDateAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
string[] url = filterContext.HttpContext.Request.Uri.split('/');
DateTime d = new Date(url[2],url[3],url[4]);
if (filterContext.ActionParameters.ContainsKey("createdDate"))
{
filterContext.ActionParameters["createdDate"] = d;
}
if (filterContext.ActionParameters.ContainsKey("title"))
{
filterContext.ActionParameters["title"] = url[5] ;
}
base.OnActionExecuting(filterContext);
}
}
}