1

ビューがデータベースから正しくアクセスしているデータをレイアウトするための助けが必要です。

データベースに保存されているデータを表示するために、MVC3 c# サイトに単純なビューがあります。ビューのコードは次のとおりです。

<div id="content" class="valign">
    <p>
        @foreach (var item in Model)
        {
                <i>@Html.DisplayFor(modelItem => item.News_Date)</i><br />        
                @Html.DisplayFor(modelItem => item.News_Entry)<br />
            <br />
        }
    </p>
</div>

これは最初は問題なく動作し、データは次のように表示されます。

Date <br>
Post

Date <br>
Post

Date <br>
Post 

...etc

私が今抱えている問題は、上記の方法を使用して「投稿」データを表示すると、改行が含まれていないため、段落などが改行で正しく表示されないことです。

TextArea ボックスに入力データを表示してデータベースにアップロードし、そのデータ (改行を含む) を別のページ ビューに表示するときに、少し書式設定を行う方法について、このサイトの人々から以前にいくつかの助けを受けました。このデータを表示する方法は次のとおりです。

@foreach (var data in Model)
{                       
    @Html.Raw(data.News_Entry.Replace(Environment.NewLine, "<br/>"))
}

これにより、元のデータ入力で使用された改行が保持されます。

ただし、データを表示したい場合は、このメソッドを使用して「日付」を表示する必要があります。

@foreach (var item in Model)
{
    <i>@Html.DisplayFor(modelItem => item.News_Date)</i><br /> 
}

...そして「投稿」を表示するこのメソッド:

@foreach (var data in Model)
{
    @Html.Raw(data.News_Entry.Replace(Environment.NewLine, "<br/>"))
}

...しかし、以前のようにページにデータを表示しません。つまり:

Date <br>
Post

次のように表示されます。

Date <br>
Date <br>
Date <br>
 <br>
Post <br>
Post <br>
Post <br>

これを回避するのを手伝ってくれる人はいますか?

できれば、改行をそのままにして、日付を最初に表示し、その下に投稿を表示したいと思います。

もう少しわかりやすくするために、いくつかのスクリーンショットを用意しました。

正しい表示
方法 間違った表示方法

どうもありがとう。

4

2 に答える 2

1

単純にHTML pre タグを使用しないのはなぜですか?

pre タグは、整形済みのテキストを定義します。

pre 要素内のテキストは固定幅フォント (通常は Courier) で表示され、スペースと改行の両方が保持されます。

于 2012-06-26T15:21:18.413 に答える
0

ボードの時間を無駄にしてしまったことをお詫びします - 以下のように News_Date を追加することで、自分で整理することができました:

<p>
    @foreach (var data in Model)
    {
        <i>@Html.DisplayFor(modelItem => data.News_Date)</i><br />
        @Html.Raw(data.News_Entry.Replace(Environment.NewLine, "<br/>"))<br />
    }
</p>
于 2012-06-26T15:56:36.660 に答える