1

私のweb-apiコントローラーには、次のルートでドメインの可用性を検索するためのGETメソッドがあります:api / domain / query /

このパスにGETするフォームを作成したいと思います(ちなみに、この場合はPOSTの方が良いと思いますか?)

これはがらくた/悪い/間違っていますが、これまでのところです(PSフォームにIDを付けたい)。Model.Nameはドメイン名です:

@using (Html.BeginForm("query", "api/domain", FormMethod.Get, new { id = "domain-query" }))
{
    @Html.ValidationSummary(true)
    <div class="editor-field">
        @Html.EditorFor(Model => Model.Name)
        @Html.ValidationMessageFor(Model => Model.Name)
    </div>
    <p>
        <input type="submit" value="Search" />
    </p>
}

これにより、次のようになります。api / domain / query/testの代わりにapi/ domain / query?Name = test

あなたの助けに感謝します、そして私はそれが申し訳ありませんが初心者の質問であることを知っています。

4

1 に答える 1

1

ここにいくつかのことがあります:

1)フォームにGETを使用しないでください。この方法のMVCフォームは、特別な場合を除いてPOSTする必要があります。

2)あなたBeginFormは間違っています。このオーバーロードを伴うアクション名とコントローラー名が必要ですが、ほとんどの場合、それについて心配する必要はありません。繰り返しますが、ほとんどの場合、

@using (Html.BeginForm())

そのようです。

また、コントローラーの入力を求められたときに、コントローラーの「パス」を設定する必要もありません。コントローラ名がAppControllerの文字列である場合は、controller単にApp

この例を見ると、他にもたくさんの問題が発生することが予想されます。あなたがそれがどのように機能することになっているのかについてあなたの脳を包むまで、あなたは解決するためにかなりの数の問題を抱えることになるでしょう。MVCコードの記述方法を理解するために、「NerdDinner」チュートリアルをウォークスルーすることを強くお勧めします。

于 2012-04-24T11:40:05.043 に答える