2012-01-19 6 views
0

ではない「POST'ing:次のシグネチャを持つフォーム私はそうのようなビューでフォームを持っているFormMethod.Post属性

@using (Html.BeginForm("CreateDTActionBasedOnSelectedMetaAction", "TestCase", FormMethod.Post)) 

とアクションメソッド:

[AcceptVerbs(new string[]{"GET","POST"})] 
public void CreateDTActionBasedOnSelectedMetaAction(FormCollection fc) 

しかし、 'submit'ボタン(フォームにある)がクリックされると、アクションメソッドが呼び出されますが、Request.HttpMethodプロパティは "GET"を表示します。フォームデータはFormCollectionオブジェクトでは利用できません投稿されました。

どのような考えですか?

UPDATE:ビューの一部:

@using (Html.BeginForm("CreateDTActionBasedOnSelectedMetaAction", "TestCase", FormMethod.Post)){ 
    <fieldset> 
     <legend>Test Case</legend> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Name) 
     </div> 
     <div class="editor-field"> 
     <p>@DTContext.CurrentTestCase.Name</p> 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Criteria) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Criteria) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.DTTestCaseReqSet.DTMetaReqProcessor.DTMetaActions) 
     </div> 
     <div class="editor-field"> 
     @Html.ListBox("MyListBox", new SelectList(Model.DTTestCaseReqSet.DTMetaReqProcessor.DTMetaActions.Where(p => p.Enabled == true), "NameWithID", "NameWithID")); 

     </div> 


     <p> 
      <input type="submit" value="Select" /> 
     </p> 
    </fieldset> 
} 

アップデート2: オーケーそれは愚かでした。私のコードがやっていなかったクエリ文字列の特定のパラメータが保存されることを期待していた別のdevで書かれたカスタムルーティングシステムがあることがわかります。その結果、ルーティングシステムはフォームからPOSTを受け取り、適切なメソッドを見つけることができず、それをGETに変換して、私のactionメソッドを見つけました。

私はこの質問を削除するよう要求します。

+2

どのような送信トリガーを使用していますか?送信ボタン?コードを投稿してください。 –

+1

あなたは完全なビューを投稿できますか(ボタンの配置場所はどこですか) – Magrangs

+2

アクションからGET動詞を削除するとどうなりますか?まだ呼び出されていますか? –

答えて

1

2つのアクションメソッドを作成します。 1つは取得用、もう1つは投稿用です。

[HttpPost] 
public void CreateDTActionBasedOnSelectedMetaAction(FormCollection fc) 

[HttpGet] 
public void CreateDTActionBasedOnSelectedMetaAction() 
+0

これは問題ありませんが、ポストは決してヒットしません。フォームにはFormMethod.Postが設定されていても投稿されません。フォームコレクションを使用する代わりに –

+1

それをあなたのモデルに切り替えることはできますか? –

関連する問題