2012-04-24 34 views
1

我的網絡API控制器具有GET方法來搜索域名可用性的路線: API /域/查詢/ASP.NET MVC制定上形式的權利網址,以獲取

我想構造一個形式(順便說一句,你認爲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 /域/查詢名稱=測試代替API /域/查詢/測試

感謝您的幫助我知道這是一個noob問題抱歉。

回答

1

幾件事情在這裏:

1)不要在你的表單中使用GET。除非特殊情況,否則應以此方式發佈MVC表單。

2)您的BeginForm是錯誤的。你需要這個過載的動作名稱和控制器名稱,但大多數時候你不必擔心它。同樣,在大多數情況下,你會想要

@using (Html.BeginForm()) 

像這樣。

當提示輸入控制器時,您也不想爲控制器設置「路徑」。如果您的控制器名稱爲AppController,則controller的字符串應簡單地爲App

看着這個例子,我希望你會遇到一堆其他的問題。在你圍繞着它應該如何工作的大腦之前,你會遇到很多問題需要解決。我強烈建議您閱讀「Nerd Dinner」教程,瞭解如何編寫MVC代碼。