使用“action ='/ action'”提交表单数据,并在控制器中关联该操作的方法 - ASP.NET

时间:2014-10-02 10:35:16

标签: c# asp.net forms post

我一直使用J2EE平台,现在我应该使用ASP.NET技术开发应用程序。 我知道我们可以使用J2EE中的不同操作发送表单数据。然后我们可以将方法与控制器中的此操作相关联。

实施例

// html form
<form id="postToURL" action="/GenerateExcel">
       // Some form data to send
</form>

-------------------------------------------------------
@RequestMapping(value = "/GenerateExcel", method = RequestMethod.POST)
public ModelAndView someMethod(){
    // some code
}

我的问题是如何在ASP.NET应用程序中使用这样的方法执行相同的操作;

 /* .NET Annotations */
 public virtual ActionResult GenerateExcel(string data)
 {
    // Some Code.....
    // System.Diagnostics.Debug.WriteLine("CSVTO EXCEL ACtion intercepted");
    // .................
 }

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果控制器范围相同,您可以使用以下内容:

<form method="post" action="<%= Url.Action("GenerateExcel") %>" id="postToURL">
    // Some form data to send
</form>

否则你必须定义动作的控制器:

<form method="post" action="<%= Url.Action("GenerateExcel", "ControllerName") %>" id="postToURL">
    // Some form data to send
</form>

此外,您可以定义,您的操作只接受POST这样的请求:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult GenerateExcel(string data)
{
  // Some Code.....
  // System.Diagnostics.Debug.WriteLine("CSVTO EXCEL ACtion intercepted");
}

如果您不想覆盖派生类中的方法,则此处可能不需要virtual关键字。