0

我必须在表格中显示大量数据。很多就像一百个属性,每个属性都有一个校准等级,用户必须使用它来表示他们的知识水平。低、高、好等等。

我像这样实现了第一个

    <h3>Conocimiento Informatico</h3>

    <h5>Category Title</h5>
    <div class="form-group">
        @Html.LabelFor(model => model.IKOfficeCommunication, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownListFor(model => model.IKOfficeCommunication.LevelSkillId, new SelectList(Model.InformaticSkillLevels, "SkillLevelID", "Name"), "Select Level")
            @Html.ValidationMessageFor(model => model.IKOfficeCommunication)
            @Html.HiddenFor(model=>model.IKOfficeCommunication.InformaticKnowledgeId)
        </div>
    </div>

它奏效了。然后我说,让我们做一点调整,然后把它放到一个 div 中,我可以使用 bPopup jquery 插件隐藏和显示。我的目标不是一次显示所有 100 个属性,而是允许更清晰地查看表单。

    //Here is the category title that I use as the trigger for the model popup
    <h5><a href="#" onclick="$('#divIKC0').bPopup(); return false;"> @Model.InformaticKnowledgeCategories[i].Name</a></h5>

    //here is the hidden div, shown with bPopup plugin
    <div id="divIKC0" style="background-color: #fff; border-radius: 5px; width: 60%;">
        <div class="col-md-12">
            <div class="form-horizontal">
                <div>
                    <h4>Category Title</h4>
                    <a href="#" onclick="$('#divIKC0').bPopup().close(); return false;" style="float: right; bottom: 30px; position: relative;">Close</a>
                </div>

                <div class="form-group">
                    @Html.LabelFor(model => model.IKOfficeCommunication, new { @class = "control-label col-md-5" })
                    <div class="col-md-6">
                        @Html.DropDownListFor(model => model.IKOfficeCommunication.LevelSkillId, new SelectList(Model.InformaticSkillLevels, "LanguageSkillLevelID", "Name"), "Nivel")
                        @Html.ValidationMessageFor(model => model.IKOfficeCommunication)
                        @Html.HiddenFor(model => model.IKOfficeCommunication.InformaticKnowledgeId)
                    </div>
                </div>

但是现在,当模型被发送回控制器中的 post 操作时,该属性为 null。

我在视图的末尾也有这个脚本,用于在页面加载时隐藏 div。然后 bPopup 插件显示或隐藏它。

@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")
@Scripts.Render("~/Scripts/chosen-ajax.js")

<script type="text/javascript">
    $("#divIKC0").hide();
</script>
}

为什么在隐藏 div 时模型没有加载属性?我该如何解决这个问题?

4

0 回答 0