0

アクション メソッド内で POST リクエストの本文を取得できません。

フィドラーを使用して投稿リクエストを開始します。

これが私が使用しているコントローラーです。

public class EventController : Controller
{
    //
    // GET: /Event/

    public ActionResult Index()
    {
        return View();
    }


    [HttpPost]
    [ActionName("Event")]
    public String AddSurvey()
    {
        // ... logic to modify or create data item

        return "Ahmed" + Request["person"];
    }
}

これが私のglobal.asaxの構成方法です

 public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");


        routes.MapRoute(null, "Event",
             new { controller = "Event", action = "Event" });

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );



    }

fiddler から POST リクエストを開始すると、メソッドのブレークポイントが呼び出されます。ただし、 Request["person"] の値を見ると、 null が含まれています。

global.asax で定義されているルートですか? 助けてください

4

3 に答える 3

0

Indexアクションの名前を に変更してみてくださいEvent[ActionName("Event")]は、Get アクションが呼び出されたことを示しますEvent

于 2013-10-05T20:01:06.267 に答える
0

誰かが通常の ASP.NET MVC で RESTful メソッドを探す場合、 このニーズにぴったり合うWebAPIを認識していることを確認することが重要です。

ASP.NET Web API は、ブラウザーやモバイル デバイスなど、幅広いクライアントに到達する HTTP サービスを簡単に構築できるようにするフレームワークです。ASP.NET Web API は、.NET Framework で RESTful アプリケーションを構築するための理想的なプラットフォームです。

于 2013-10-05T20:37:39.510 に答える
0

私は知りません、どのように。またはなぜ。しかし、これはうまくいきました

  [HttpPost]
    [ActionName("Event")]
    public String AddSurvey()
    {
        // ... logic to modify or create data item
        string body;
        using (StreamReader reader = new StreamReader(Request.InputStream))
        {
            body = reader.ReadToEnd();
            reader.Close();
        }


        return body;
    }
于 2013-10-05T20:37:49.497 に答える