我创建了一个路由结构,而URL的操作部分则用作选择特定用户创建的系统名称的动态处理程序。即。
http://mysite.com/Systems/[SystemName]/Configure,其中[SystemName]指定他们想要配置的系统的名称。
路由系统的方法如下:
public ActionResult Index(string systemName, string systemAction)
{
ViewData["system"] = _repository.GetSystem(systemName);
if (systemAction != "")
{
return View(systemAction);
}
else
{
// No Id specified. Go to system selection.
return View("System");
}
}
上述方法将系统设置为配置并路由到静态方法,其中显示视图并且表单等待值。
我的问题是,当我创建配置视图时,在提交表单时丢失了我的发布值,因为它会路由回上面的索引控制器。如何在点击我的上述索引控制器时确定是否正在发布数据,以便我可以做出决定?
谢谢! 乔治
答案 0 :(得分:1)
注释处理POST的控制器方法,如下所示:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(string systemName, string systemAction)
{
// Handle posted values.
}
您可以在控制器中使用不同的方法来处理GET:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index(string systemName, string systemAction)
{
// No posted values here.
}
请注意,尽管我在每种情况下都复制了相同的方法和参数,但第二种方法(参数和类型)的签名必须不同,因此这两种方法不会有歧义。