0

同じ名前の 2 つのアクションがあります (通常の LongTailSearchBox はカテゴリのドロップ リストを表示し、HttpPost は検索ページを作成し (存在しない場合)、\n 検索ページにリダイレクトします)。

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

そして、アクションの httpPost

[HttpPost]
         public ActionResult LongTailSearchBox(string cat1, string cat2, string cat3, string cat4)
         {
return RedirectToAction("LongTailSearchResult", "LongTailSearch", new { name = _url });
    }

ログインボタン(別のフォーム)をクリックすると、もちろんhttpポストが返されます..

そのため、ページの読み込み時に HttpPost LongTailSearchBox も開始されます (httpPost を作成するボタンではなく、検索のボタンをクリックした場合にのみ開始したい..)

どうやってするの??

アップデート:

これらのアクションの 1 つの名前を変更するのは魅力的ですが、同じ名前にしたいです。

そしてhtmlのログインフォームは <form method="post" action="/LongTailSearch/LongTailSearchBox" novalidate="novalidate">

<form method="post" action="/login" novalidate="novalidate">
4

1 に答える 1

1

ここで説明されているように、ActionMethodSelectorAttribute を使用して、投稿の原因となったボタンの名前に応じてアクションを選択できます: http://www.dotnetcurry.com/ShowArticle.aspx?ID=724

于 2013-04-17T12:32:11.457 に答える