[英]MVC modal with partial view not prepoulating EditorFor control with model binding
我有一个MVC应用程序,当单击按钮时,该应用程序会显示一个弹出模态窗口,以编辑一些数据。 所有的机制似乎都起作用。 它贯穿一切 精细。 加载模态。 控制器中填充了如下所示的模型
当我进入视图代码时,模型显然已填充..因此它通过得很好...
所以我的困惑是为什么当模型加载时..所有的EditorFor字段为空./当模型未加载且控件绑定到模型属性时。
显然我缺少了一些东西。我只是不确定...
这是我的局部视图中的代码...
@model Hybridinator.Domain.Entities.Database
<br />
<br />
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</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>
最后,加载后模态的图像..您将不会预先填充任何编辑字段
您的modalEditDBInfoContent没有id = modalEditDBInfoContent。 这是课程。
$('.modalEditDBInfoContent').html(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.