ではない「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メソッドを見つけました。
私はこの質問を削除するよう要求します。
どのような送信トリガーを使用していますか?送信ボタン?コードを投稿してください。 –
あなたは完全なビューを投稿できますか(ボタンの配置場所はどこですか) – Magrangs
アクションからGET動詞を削除するとどうなりますか?まだ呼び出されていますか? –