2016-09-21 3 views
0

編集:アクションリンク<>またはBeginForm <>は私の仕事をしていないことを忘れています。最新のMVCバージョンがあります。 NUGETのプロジェクト、mvcは推奨されたリストにありませんでした)。この機能を使用するサンプルチュートリアル/サンプルはありますか?問題の文字列を使用しないHtml.BeginForm( "Index"、 "CustomersController")

What is an alternative to using strings for action and controller names in asp.net MVC?は」私はこの答えWhat is the syntax for a strongly-typed ActionLink in MVC 4 with MVC 4 Futures?

を使用するための答えを受けた私は、彼らは、例えばアクションリンクに行っている何をしようとしています:

@(Html.ActionLink<CustomersController>(x => x.Index(), "Customers")) 

しかし、同様にしてもコンパイルできませんでした:私は追加する必要があるいくつかの名前空間または私がしようとする必要が異なる構文は

Html.BeginForm<CustomersController>(x => x.Index()) 

ありますか?

アップデート2:これは私が持っているものです。UnitTestsControllerがOK referecedさ

@using (Html.BeginForm<UnitTestsController>(x => x.Index())) 

、インテリセンスも、X => x.Index())許可しないだろう、私はそれをハンマーしなければならなかった

コンパイラエラーメッセージ:CS0308:非ジェネリックメソッド「System.Web.Mvc.Ajax

はまた、実行時に エラーがあるSystem.Linq名前空間を追加しましたが、(整形でグレーアウト)使用されていません。 AjaxExtensions.BeginForm(System.Web.Mvc.Aj型引数では使用できません。

+1

T4MVCまたはMVC4先物はどちらを使用していますか? –

+0

@StephenMuecke MVC4 – Arjang

+1

'Microsoft.Web.Mvc'名前空間をインクルードしましたか?そして、FYI、 'Futures'プロジェクトの情報については、[この回答](http://stackoverflow.com/questions/35329402/system-web-mvc-vs-microsoft-web-mvc/35330351#35330351)を参照してください。 –

答えて

1

私はあなたが知っていますか?あなたの投稿を完成させることはできませんが、私はあなたがBeginFormを「終了」するのを忘れていることに気付きましたか?技術的には、Html.BeginFormを使用する2つの方法があります。これが正しいコンパイルする場合は、あなたがこのアプローチを試すことができます

@using (Html.BeginForm<CustomersController>(x => x.Index())) 
{ 
    <input type="text" id="txtQuery"/> 
    <input type="submit" value="submit"/>  
} 

:あなたはformタグを確保し、適切に近いためにusing() {}を使用することができます

@{ Html.BeginForm<CustomersController>(x => x.Index()); } 
    <input type="text" id="txtQuery"/> 
    <input type="submit" value="submit"/> 
@{ Html.EndForm(); } 

またはあなたの便宜のために:

フォームを手動で終了あなたのために。

+0

あなたはどの名前空間を使用していますか?まだ喜びはありません – Arjang

+0

BTW L BeginFormの@using方法を使っていましたが、それを含めることは重要ではないようです。 – Arjang

+0

あなたの試した結果は何ですか?あなたは例外に遭遇しましたか?表示しているコントローラを参照しましたか? – jtabuloc

関連する問題