部分视图的MVC模式没有预先编辑EditorFor控件与模型绑定

时间:2014-11-13 20:25:23

标签: c# jquery .net asp.net-mvc twitter-bootstrap

我有一个MVC应用程序,它会显示一个弹出窗口模态窗口,用于在单击按钮时编辑某些数据。所有的机制似乎都有效。它会逐步完成所有enter image description here。加载模态。如下所示的模型填充在Controller

当我进入视图代码时,模型显然是填充的......所以它通过了很好......

enter image description here

所以我的困惑是为什么当模型加载时...所有的EditorFor字段都是空的。当模型没有并且控件绑定到模型属性时。

显然,我错过了一些东西......我只是不确定是什么......

以下是我的部分视图中的代码...

 @model Hybridinator.Domain.Entities.Database
<br />
<br />

<div class="modal-header">
    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
    <h4 class="modal-title" id="myModalLabel">Edit Database Info</h4>
</div>
<div class="modal-body">
    @using (Html.BeginForm())
{


            <div class="form-group">
                <div id="databaselabel" >@Html.LabelFor(m => m.database, "Database")</div>
                <div id="databaseedit" >@Html.EditorFor(m => m.database )</div>
            </div>
            <div class="form-group">
                <div id="databaseserverlabel" >@Html.LabelFor(m => m.database_server, "Database Server")</div>
                <div id="databaseserveredit" >@Html.EditorFor(m => m.database_server )</div>
            </div>
            <div class="form-group">
                <div id="databaseusernamelabel" >@Html.LabelFor(m => m.database_username, "Database Username")</div>
                <div id="databaseusernameedit" >@Html.EditorFor(m => m.database_username)</div>
            </div>
            <div class="form-group">
                <div id="databasepasswordlabel" >@Html.LabelFor(m => m.database_password, "Database Password")</div>
                <div id="databasepasswordedit" >@Html.EditorFor(m => m.database_password)</div>
            </div>
            <div class="form-group">
                <div id="histdatabaselabel"> @Html.LabelFor(m => m.hist_database, "History Database")</div>
                <div id="histdatabaseedit" >@Html.EditorFor(m => m.hist_database)</div>
            </div>
            <div class="form-group">
                <div id="histdatabaseserverlabel"> @Html.LabelFor(m => m.hist_database_server, "History Database Server")</div>
                <div id="histdatabaseserveredit">@Html.EditorFor(m => m.hist_database_server)</div>
            </div>
            <div class="form-group">
                <div id="histdatabaseusernamelabel" >@Html.LabelFor(m => m.hist_database_username, "History Database Username")</div>
                <div id="histdatabaseusernameedit" >@Html.EditorFor(m => m.hist_database_username)</div>
            </div>
            <div class="form-group">
                <div id="histdatabasepasswordlabel" >@Html.LabelFor(m => m.hist_database_password, "History Database Password")</div>
                <div id="histdatabasepasswordedit" >@Html.EditorFor(m => m.hist_database_password)</div>
            </div>

}

    </div>
<div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
    <button type="button" class="btn btn-primary">Submit</button>
</div>

这是模态加载

的索引中的代码
<div class="modal fade" id="modalEditDBInfo" role="application" aria-labelledby="modalEditDBInfoLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modalEditDBInfoContent" style="background-color:white; border-radius:10px; box-shadow:10px;">
            @Html.Partial("_EditDatabaseInfo")
        </div>
    </div>
</div>

调用JQuery脚本的按钮的代码

<a href="#EditDatabaseButton" class="btn btn-primary" onclick="editDatabaseInfo()">Edit</a>

和脚本的代码

<script type="text/javascript">
    function editDatabaseInfo() {
        var dbid = $('#database_pk').val();
        alert('function values are ' + dbid);
        $.ajax({
            url: '@Url.Action("EditDatabaseInfo", "Database")',
            type: 'GET',
            cache: false,
            data: { database_pk: dbid }
        }).done(function (result) {
            $('#modalEditDBInfoContent').html(result);
        });
        $('#modalEditDBInfo').modal('show');
    }
</script>

最后是Modal加载后的图像..你不会预编辑任何编辑字段

enter image description here

1 个答案:

答案 0 :(得分:1)

您的modalEditDBInfoContent没有id = modalEditDBInfoContent。它&#39;上课。

$('.modalEditDBInfoContent').html(result);