7

いくつかのスタイルに基づいていくつかのコンテンツをフォーマットするために、HtmlHelper拡張機能を作成しました。ifで囲まれていない場合、ヘルパーはコンテンツを正しくレンダリングします。

ただし、それらをかみそりのifステートメントでラップしようとすると、何もレンダリングされません。これは、正しく実行していないRazor構文と関係があると思われます。

コード:

<div class="notice">

    @if (DataModel.UserHasExpired)
    {
       Html.MyCustomNotificationBox("someparameter") // My helper Should render a div
    }

</div>

通知ボックスをifの外に配置すると、正常に機能します。また、コードがブロックにドロップされていることを確認しましたが、検査したときにhtmlにマークアップが生成されません。

@をそのように追加して、コロンで終了してみました

@Html.MyCustomNotificationBox("somparameter");

私は@Html.Raw(..上記で..)を試しましたが、これは完全にエラーになります。

何か案は?

4

2 に答える 2

19

タグに入れてみましたかtext(タグはクライアントに送信されません)?

@if (DataModel.UserHasExpired)
{
    <text>@Html.MyCustomNotificationBox("somparameter")</text>
}
于 2012-12-10T21:38:04.967 に答える
8
<p>
   @if (true)
   {
       @Html.Hello("World")
   }
</p>

完全に正常に動作します

于 2012-12-10T21:56:03.847 に答える