問題タブ [t4mvc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
t4mvc - T4MVC コントローラーで生成されたファイルが、新しく追加されたコントローラーで更新されない
T4MVC をアプリケーションに追加すると、コントローラーに必要なすべてのファイルが生成されました。ただし、新しいコントローラーをアプリケーションに追加しようとすると、この新しく追加されたコントローラーの controller. generated ファイルがアプリケーションに表示されません。
何か不足していますか、それとも T4MVC の制限ですか? 誰でもこれについて私を助けることができますか?
c# - T4MVCを使用したカスタムモデルバインダー
MVCアプリにカスタムモデルバインダーがありますが、T4MVCを使用できるかどうかわかりません。
通常、私は自分の行動をこのように呼びます:
T4MVCでは、次のようになります。
しかし、T4は私のバインダーについて知らないので、彼はURLでオブジェクトを送信しようとしますが、私が欲しいのは、次のようなURLを生成することです:Contract / {contractId} / Version / {action} / {version}
また、カスタムルートがあることに注意してください。
これは私のバインダーです:
私は何をすべきか?ルートにマジックストリングを入れたくない...
ありがとう!
c# - T4MVC - オプション パラメータの処理
私は.NET 3.5、MVC 2、およびT4MVC 2.6.42を使用しています...
次のアクションがあります。
そして次のルート。
しかし、呼び出そうとするとMVC.Products.Index("anything")
、「メソッド 'Index' のオーバーロードは '1' 引数を取ります」という例外が発生します。MVC.Products.Index()
ただし、呼び出しは機能します。
「ページ」パラメーターはデフォルトで「1」に設定されているため、省略できませんか?
注:ルートで page パラメータをデフォルトの 1 に設定しようとしましたが、うまくいきませんでした。
注 2: [Optional] 属性も試してみましたが、成功しませんでした。
jquery - Nuget を介した新しいバージョンの Jquery の追加と t4mvc の問題
Nuget 経由で Jquery(1.5.2) の最新リリースを追加しましたが、t4mvc はそれを表示することを拒否します。
インテリセンスには表示されず、手動で入力すると次のようになります。
これは私がそれを参照するために使用しているコードです。
副次的な問題として、NuGet 経由で古いバージョンの jquery をインストールするにはどうすればよいですか? 出来ますか?
asp.net-mvc-3 - MVC3.0T4MVCはVS2010で動作を停止しました
昨日、ASP.NETMVC3.0プロジェクトを完全にコンパイルしていました。今日、プロジェクトを再度開いたとき、T4MVCのためにコンパイルされませんでしたが、非常に驚きました。
NuGetでT4MVCテンプレートをもう一度読みましたが、役に立ちませんでした。次に、関連するすべてのT4 VS 2010拡張機能を削除しました:T4 Editor、T4Utilites、およびVisual T4は、プロジェクトを再度開きましたが、再起動してT4拡張機能を再度インストールしたが、どちらも役に立たなかったため、役に立ちませんでした。新しいクリーンなASP.NETMVC3.0プロジェクトを作成し、これにT4MVCを追加するよりも、同じエラーが発生します(peintscreenを参照)。
T4MVC.ttをソリューションから削除すると、プロジェクトをコンパイルできませんが、元に戻すと、再びエラーが発生します。
Visual Studioの問題だと思いますが、今では非常に悪い考えがあります。VisualStudioを再インストールしてみてください。
ps 1
また、私は最近Visual Studioに関連するものを何もインストールしませんでした。ウィンドウズの更新による小さなアップステートのほんの数個かもしれませんが、それらはVisualStudioに関連していませんでした。
また、MVC 3.0 Updatesツールをインストールしましたが、今日まではすべてが正常に機能していました。
非常に奇妙に見えます。このテンプレートを使用して*.csファイルを正常に生成できます。このプロセス中にエラーが発生することはありませんが、VisualStudioが何らかの理由でT4MVC.ttを非難しています。
ps 2
実際には、更新されたNuGetパッケージもあります。そうかもしれませんか?うーん...しかし、NuGetを削除した後はすべて同じです:(
asp.net-mvc-3 - T4MVC が不正な URL を引き起こす
新しい MVC Razor プロジェクトで T4MVC を使用すると、次のようなアクション リンクが作成されます。
だから私はhttp://localhost:52122/Home/Indexのような URL を期待し ます
しかし、私が得ているのは http://localhost:52122/Home/~/Views/Home/Index.cshtml です
t4mvc テンプレート ファイルを調べると、「~/Views/Home/Index.cshtml」がどこから来ているかがわかりますが、そのように作成されているため、触れたくありません。そこで何も変更する必要はないと思います。
友人に聞いてみると、コントローラの外に行くことがあるから、ActionLink の代わりに RouteLink を使うべきだという。ただし、これを行うと、「「~/Views/Home/Index.cshtml」という名前のルートがルート コレクションに見つかりませんでした。アプリを実行しようとすると。
私が使用しているリンクが_Layout.cshtmlにあることにも注意する必要があると思います
私は何を間違っていますか?
c# - T4 for ASP.NET MVC のネストされたフォルダーにリンクを生成するにはどうすればよいですか?
T4MVC を使用して、スクリプトとコンテンツへのリンクを生成しています。一部の領域にフォルダーを追加しましたScript
。T4MVC でそれらのリンクも生成する必要があります。
に行として追加するように変更しようとしましたT4MVC.tt.settings.t4
が、残念ながら成功しませんでした。Areas/Webcard/Scripts
フォルダのリンクが生成されていません:
各エリアにフォルダを追加するときに、新しいフォルダへのリンクを生成するにはどうすればよいですか?
c# - ActionNamesを使用したT4MVC
プロジェクトにT4MVCを含めたところ、問題が発生しました。非表示のテキストフィールドを介してJavaScriptにデータを渡しているので、コントローラーの名前とそのアクションを渡すことができる必要があります。これが私が持っているものです:
私はできるようになりたいです:
何らかの理由でこれは機能していません。LogJavascriptErrorがActionResultを返さないので、私は考えていました。FYI LogJavaScriptErrorも文字列を受け取りますが、実際にはアクションの名前が必要です。@ MVC.Error.ActionNames.LogJavaScriptErrorも試しましたが、ActionResultが返されないため、おそらく再び表示されませんか?
c# - T4MVC は Url.Action() でプロパティを動作しません
これは私の元のコードでした:
生成されるもの: http://localhost:2543/Account/LoginYoutube
T4MVC では、次のことを行います。
/Account/LoginYoutube を生成します。
http://localhost:2543を取得するには、「http」を含む最後のパラメーターが必要です。問題は T4MVC にあり、Url.Action() の呼び出しに 1 つのパラメーターしか配置できません。
どうすればこれを機能させることができますか?
asp.net-mvc-3 - T4MVCルートディクショナリActionResultにハッシュフラグメントを追加するにはどうすればよいですか?
ActionResultを返す拡張メソッドがあります(デモンストレーション用に簡略化されています)。
私はこれをHtml.ActionLinkで使用しています:
ナビゲーションにこれらのハッシュフラグメントを使用する、タブ用のカスタムjQueryプラグインを使用しています。URLの末尾にハッシュフラグメントをタグ付けして、開きたいタブを追加したいと思います。
Html.ActionLinkには、フラグメントのオーバーロードがあります。つまり、次のようになります。
しかし、それはT4MVCが削除するように設計されている厄介なマジックストリングでいっぱいです。静的拡張メソッド(GetTestActionResult)のルートディクショナリにフラグメントを追加する方法はありますか?
何かのようなもの:
SOには2つの類似した質問と回答があることを認識していますが、それらは私が探しているものを完全に提供してくれません。ビューに戻す前に、フラグメントをActionResultにラップする必要があります。
アップデート:
以下のDavidEbboの修正を使用して、次の変更を行いました。少しハッキーですが、機能します:
最初に、ActionResultを返す内部関数を変更して、フラグメントをルート値としても追加するようにしました(理想的ではありませんが機能します)。
次に、ビューでそのフラグメント値をルートディクショナリからコピーし、完全を期すためにそのルート値を削除します。
ActionResultを使用してフラグメントを返すためのよりきれいな方法があると確信していますが、今のところこれは機能します。デビッドに感謝します。