2

才刚刚开始使用 MVC 4,我不确定如何执行以下操作。

我有一个显示博客文章列表'/blog'的页面,该页面还包含一个带有日期列表的选择列表,选择一个日期应该自动将表单发布到像'/blog/date/20-05这样的URL -2015' 此 URL 路由到控制器中的 ActionResult,该控制器返回从该日期开始的博客文章列表。

我不知道如何让我的表单自动发布到像“/blog/date/20-05-2015”这样的 URL

路线:

routes.MapRoute(
            "blogsByDates",
            "blog/date/{date}",
            new { controller = "Blog", action = "IndexByDate" }
            );

控制器

public ActionResult IndexByDate(DateTime date)
    {
        var query = from c in db.Blogs
                    where c.PublishDate >= date
                    select c;

        return View("Index", query.ToList());
    }

查看(部分)

@using (Html.BeginForm())
  { 
<select name="ddlMonth" id="ddlMonth">
<option value="01-06-2012">June 2012</option>
<option value="01-05-2012">May 2012</option> 
</select> 
}
4

1 回答 1

1

您必须使用 jQuery 或其他工具来更改表单的 ACTION 属性。没有其他方法可以更改表单发布到的目的地。尽管为什么在不向服务器发送任何特殊数据时使用表单。只需将其设为可点击链接列表即可。

于 2012-10-11T23:18:40.720 回答