0

@Html.TextBoxFor および @Html.ValidationMessageFor で、msg を含むエラー インジケーター行を取得します。

「System.Web.WebPages.Html.HtmlHelper には、'TextBoxFor' と 'ValidationMessageFor' の定義が含まれておらず、拡張メソッド 'TextBoxFor' と 'ValidationMessagefor' は、タイプ 'System.Web.WebPages.Html の最初の引数を受け入れません。 .HtmlHelper' が見つかりました..."

using ステートメントをコードに直接追加し、Web.config の参照が正しいことを確認し、拡張メソッドの作成も試みました。何も役に立たないようです。お知らせ下さい。私は Razor を初めて使用するので、すべてが学習体験です。

@model Contact.Settings.Models.ContactSettingsPart

@using System.Web.Mvc.Html

<fieldset>
    <legend>@T("Contact Detail")</legend>

    <div class="editor-label">
        @Html.LabelFor(model => model.ContactFunctionalArea,@T("Contact Name"))
    </div>
    <div class="editor-field">
        @Html.TextBoxFor(model => model.ContactFunctionalArea)
        @Html.ValidationMessageFor(model => model.ContactFunctionalArea)
    </div>
</fieldset>
4

2 に答える 2

1

これは重要ではありません。それはまだうまくいくはずです。Orchard テーマは、通常、使用されているライブラリを認識しません (それらは「実際の」プロジェクトではなく、VS Intellisense はこれを取得する方法を知りません)。実行時に問題が発生しないようにする最も簡単な方法は、ビルド前に Orchard.Web プロジェクトに models/html ヘルパー プロジェクトへの参照を含めることです。これにより、dll が展開用の bin フォルダーにあることが保証されます。

web.config(テーマプロジェクトまたはモジュールプロジェクトのもの)を介してかみそりにdllを「見る」ように指示する方法があるはずですが、これを機能させるために時間を費やしたことはありません。Orchard が推奨しているように (私はこれが嫌いです)、ビュー モデルとして Dynamic を使用している場合、いずれにせよインテリセンスは得られません。

于 2013-08-10T08:02:27.183 に答える
0

ビュー フォルダーに web.config ファイルがあるかどうかを確認します。オーチャードの別のビュー フォルダーからコピーしない場合は、.

于 2013-08-09T17:13:17.047 に答える