2

asp.net MVC 4 を使用しています。同じ名前でパラメータが異なるアクションで 2 つの http get メソッドを使用する方法はありますか? または、ページの名前が一貫しているように、ページを両方のインデックス ページにする方法はありますか? また、int を null にすることはできません。

例:

クエリ文字列と検索に使用

   [HttpGet]
    public ActionResult Index(int num, string aString)
   {
   } 

アクション リンクのクリックのみに使用されます (既定の検索)。

 [HttpGet]
  public ActionResult Index()
 {
 } 
4

3 に答える 3

3

回避策はありません。あなたができることは次のとおりです。

[HttpGet]
public ActionResult Index(int num, string aString)
{
      //if num == null, throw exception or do something
      // if string == null, do something, if not, do something else
} 
于 2013-03-08T18:41:34.813 に答える
0
 - (Html . BeginForm ( "ViewName", "ControllerName", FormMethod.Get ) {
   Html . Hidden ( "actionname1", "true" ) form elements set 1 submit
   button 1 }

   (Html . BeginForm ( "ViewName", "ControllerName", FormMethod.Get ) {
   Html . Hidden("actionname2", "true") form elements set 2 submit
   button 2 }

   In Controller, check for "true "values for actionname1, actionname2
   and decide on control flow for each. Assumption: Same View and Same
   Controller WITH Two distinct FormMethod.Gets

   ..Paurav
于 2013-06-24T22:01:11.257 に答える
0

私が実際に行ったことは、1 つの get http 要求アクションで null 許容値を持つオブジェクトを渡すことでした。上記のコメントで @Display Name が示唆したように、Microsoft にはこの機能が .net フレームワークに組み込まれています。

于 2013-06-25T01:58:29.300 に答える