Несколько блоков кода в Razor и Parser Error - PullRequest
0 голосов
/ 05 марта 2020

У меня проблема на моем MVC сайте.

У меня есть использование и список полей в этом и в этом блоке кода. Если я закрываю свое использование в конце, у меня появляется сообщение об ошибке «Набор полей конечного тега« fieldset »без соответствующего начального тега. Правильно ли сбалансированы ваши начальные / конечные теги?»

@using (Html.BeginForm("Register", "Account", null, FormMethod.Post))
{
<fieldset>
        <div class="row justify-content-md-center">

            <div class="col-sm-12 col-md-10">

                <div class="row">
                    <div class="col-xs-12 col-md-6">
                        <h1><strong>Create new Account</strong> / Basic data</h1>
                    </div
                </div>

                <form class="needs-validation AD-F-Needs-V" novalidate>

                    <div class="row p-3">
                        <div class="col-12 col-sm-12 col-md-6 col-lg-4 ">
                            <div class="form-group AD-F-Mandatory">
                                @{
                                    var user = ViewBag.CurrentUser as UserProfile;
                                    var roleTypes = FindAllDerivedTypes<ProfileData>().Where(a => !a.Name.Contains("View"));
                                    var profileDatas = user.ProfileDatas.Select(a => GetObjectType(a.GetType()));
                                    roleTypes = roleTypes.Where(a => !profileDatas.Any(b => a.Name == b.Name)).ToList();
                                    var roles = (roleTypes as IEnumerable<Type>).ToDictionary(a => a.Name, b => GetResourceByName(ResourceManager, b.Name));


                                    <div class="AD-F-M-C AD-F-SSelect">
                                        @Html.DropDownList("typeSelector", (IEnumerable<SelectListItem>)roles.Select(a => new SelectListItem()))
                                    </div>
                                }
                            </div>
                        </div>
                    </div>

                    <div class="AD-F-Acc">
                        <div class="AD-F-Acc-Content">
                            <div class="collapse show row p-3" id="sectionBasicData">
                                <div class="col-md-12 col-lg-6 mb-3">

                                    <div class="form-group AD-F-Mandatory">
                                        <label for="bdFirstName">First Name</label>
                                        <div class="AD-F-M-C">
                                            @Html.EditorFor(a => a.FirstName, new { htmlAttributes = new { @class = "form-control", placeholder = "First Name", required = "required" } })
                                            @Html.ValidationMessageFor(model => model.FirstName)
                                            <span class="AD-F-M-Asterix">
                                                <span class="mdi mdi-asterisk"></span>
                                            </span>
                                        </div>
                                    </div>

                                    <div class="form-group AD-F-Mandatory">
                                        <label for="bdSecondName">Second Name</label>
                                        <div class="AD-F-M-C">
                                            @Html.EditorFor(a => a.LastName, new { htmlAttributes = new { @class = "form-control", placeholder = "Last Name", required = "required" } })
                                            @Html.ValidationMessageFor(model => model.LastName)
                                            <span class="AD-F-M-Asterix">
                                                <span class="mdi mdi-asterisk"></span>
                                            </span>
                                        </div>
                                    </div>

                                </div>
                            </div>
                        </div>
                    </div>

                </form>

            </div>

        </div>

    <div class="AD-card-body-footer AD-CBF-medium">

        <div class="row justify-content-md-center">
            <div class="col-sm-12 col-md-10 d-flex justify-content-between">
                <button type="submit" class="btn btn-primary">Next</button>
            </div>
        </div>

    </div>
</fieldset>

}

без блока Using it работает хорошо, но мне нужно это для сохранения.

Так это выглядит, потому что есть больше блоков кода, он терпит неудачу, но мне как-то нужны оба. Я действительно не знаю, как я могу использовать более разные блоки в разных местах в файле cs html, я пытался найти решение в Google, но я не нашел действительно полезной статьи. Как я могу это исправить?

Спасибо за вашу помощь заранее!

1 Ответ

0 голосов
/ 05 марта 2020

Проблема в том, что у вас есть лишний '}' на @Html.DropDownList("typeSelector", (IEnumerable<SelectListItem>)roles.Select(a => new SelectListItem()})) Удалите это, и все должно быть в порядке.

...