Помещение if и else в цикл Foreach в ASP.NET MVC C # - PullRequest
0 голосов
/ 25 октября 2018

Когда я написал оператор if and else в цикле foreach, я обнаружил ошибку.Я не уверен, что пошло не так.Я даже добавил @if и @var{ }; к коду.Но все еще есть ошибка.

1 Ответ

0 голосов
/ 25 октября 2018

Не рекомендуется смешивать частичные фрагменты HTML с условным кодом C # / Razor.Код может повториться, но его гораздо легче читать и поддерживать позже.

Возможно, я не правильно уловил ваше намерение, но я могу прочитать это и понять, как условие влияет на вывод.

@foreach (var item in Model)
{
    var HeaderImage = item.HeaderPath;

    if (image != "")
    {
        var fileSavePath = Path.Combine(@"\\mainPage.com", "");
        <div class="picGallery">
            <img src="@Url.Content(item.HeaderPath)" alt="Image" />

            <a href="@Url.Action("ViewPage", "Home")">
            </a>
            <div class="desc2">
                <p style="font-size: 13;">@item.Text</p>
                <p style="font-size: 13;">@item.text_2</p>
            </div>
        </div>
    }
    else
    {
        <div class="picGallery">
            <img src="@Url.Content(item.HeaderPath)" alt="Image" />

            <a href="@Url.Action("ViewPage", "Home")">
                <div id="scanIcon">
                    <img src=img.png alt="imageView" />
                    <h1 style="font-size: 10px;">View Image</h1>
                </div>
            </a>
            <div class="desc2">
                <p style="font-size: 13;">@item.Text</p>
                <p style="font-size: 13;">@item.text_2</p>
            </div>
        </div>
    }
}

Вы можете сократить это.Но вы должны быть осторожны, чтобы избежать @if вложенных блоков кода в html.Также становится все труднее понять, каким должен быть вывод.

@foreach (var item in Model)
{
    var HeaderImage = item.HeaderPath;

    <div class="picGallery">
        <img src="@Url.Content(item.HeaderPath)" alt="Image" />

        <a href="@Url.Action("ViewPage", "Home")">
            @if (image != "")
            {
                // image exists
                var fileSavePath = Path.Combine(@"\\mainPage.com", "");

                <div>  </div>
            }
            else
            {
                <div id="scanIcon">
                    <img src=img.png alt="imageView" />
                    <h1 style="font-size: 10px;">View Image</h1>
                </div>
            }
        </a>
        <div class="desc2">
            <p style="font-size: 13;">@item.Text</p>
        </div>
    </div>
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...