【问题标题】:Submit Form data with "action='/action'" and associate a method for that action in the controller - ASP.NET使用“action='/action'”提交表单数据,并在控制器中为该操作关联一个方法 - ASP.NET
【发布时间】:2014-10-02 10:35:15
【问题描述】:

我一直使用 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");
    // .................
 }

提前感谢您的帮助。

【问题讨论】:

    标签: c# asp.net forms post


    【解决方案1】:

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

    <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 关键字。

    【讨论】:

    • 非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    相关资源
    最近更新 更多