ASP.NET MVC: проблема с циклом в виде бритвы - выводится некоторый код - PullRequest
2 голосов
/ 07 июля 2011

Я пытаюсь написать простой цикл в представлении Razor, но правильная компоновка, кажется, намекает на меня.

Мой код выглядит следующим образом:

    @using RelensterV3.Helpers

@Html.BeginForm("SaveStockAnswers", "Call", FormMethod.Post, new { onsubmit = "return false;" }) {
<div class="ui-grid-c">
    @{
        int Count = 1;
        string ClassToApply = "";
    }
    @foreach (var product in Model.StockAnswers)
    {

        if (Count == 1)
        {
            ClassToApply = "ui-block-a";
        }

        if (Count == 2)
        {
            ClassToApply = "ui-block-b";
        }

        if (Count == 3)
        {
            ClassToApply = "ui-block-c";
            Count = 0;
        }
        Count++;

        <div class="stock-product @ClassToApply">
            @*<h2>@product.Product.Name</h2>*@
            @Html.Partial("_StockAnswerForm", product)
        </div>   
    }
</div>
} 

Однаковывод этого выглядит следующим образом:

<form action="/Call/SaveStockAnswers" method="post" onsubmit="return false;">System.Web.Mvc.Html.MvcForm {
<div class="ui-grid-c">
        <div class="stock-product ui-block-a">

            <input type="hidden" name="stock.index" autocomplete="off" value="f8befb95-b30d-45bd-bc0e-6214d2001769" />
    <div>.....etc etc

Который заканчивается фигурной фигурной скобкой.Я не уверен, почему эти фрагменты выводятся.

Спасибо

Ответы [ 2 ]

5 голосов
/ 07 июля 2011

Я бы использовал:

@using (Html.BeginForm(etc..))
{
    // Your loop code
}
4 голосов
/ 07 июля 2011

Вы подделываете оператор using в начале объявления html-формы. Перепишите его как

@using(Html.BeginForm ... etc, etc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...