ASP.NET MVC后,从同一个控制器
我在做这个项目,目前有如下方法控制行动:ASP.NET MVC后,从同一个控制器
[HttpPost]
public ActionResult Service(string identifier)
此功能目前正在使用的网页形式
<form method="POST" action="/Connector/Service">
<input type="hidden" id="identifier" name="identifier" value="@TempData["Identifier"]"/>
所以当用户点击一个在网页上提交表单的按钮时就会使用服务。用户从另一个操作转到此页面。 我必须实现一个功能,有时用户不必将用户带到网页,而是直接从操作中直接访问服务方法。 ASP.NET MVC: RedirectToAction with parameters to POST Action
但好像那是糟糕的设计和返回RedirectToAction与服务实际上并没有为我工作:
我搜索的时候发现了这个线索。
return RedirectToAction("Service", new {identifier})
更多搜索似乎我实际上不能从我的控制器发出发布请求。 Asp.NET MVC : redirect to another controller with POST Action
什么,我可以在这里做任何想法?我对ASP.NET相当陌生,不知道该怎么做。所有的帮助表示赞赏,谢谢。
当窗体被视图本身submited [文章]仅用于标签,如果你的页面重定向到一个控制器上的功能,从另一种观点认为一个比你的,你有两个选择:
使用[get]标签,虽然我不清楚它是如何工作的(这可能会被编辑),但使用[get]标签可能会带来更大的运气
-
如果您使用参数重定向另一个视图为具有参数的功能,如
public ActionResult Service(string identifier)
表示没有标签,则会自动达到此功能。如果该参数没有被指定,它将只是NULL。
对于#2,如果我带走邮政标签将视图仍然能够提交? –
@SWWilliams不,如果删除POST,除非将表单方法更改为GET,否则无法提交数据。 GET用于检索远程数据,而POST用于插入/更新远程数据。 – mluker
是否有可能允许函数同时处理POST和GET请求? –
我同意这是不好的设计。 ''有时不用把用户带到网页上'' - 什么是**有时是**?这是缺少的一块这里 –
您调用重定向到操作的方式是发送GET请求。但是你的方法被标记为仅POST – Steve
http://stackoverflow.com/questions/129335/how-do-you-redirect-to-a-page-using-the-post-verb你应该阅读接受的答案,并看到@Jasonbunting怎么做 – ergen