Asp.net MVC 5:使用javascript在模式对话框中使用CRUD
我是Asp.NETMVC5中的newebie 所以,我有一个简单的项目,我使用asp.net。我有一个对象名为:Asp.net MVC 5:使用javascript在模式对话框中使用CRUD,javascript,c#,asp.net-mvc-5,crud,Javascript,C#,Asp.net Mvc 5,Crud,我是Asp.NETMVC5中的newebie 所以,我有一个简单的项目,我使用asp.net。我有一个对象名为: 对象{Id,code,Name} 我想列出网格中的对象,进行编辑、添加和删除。 我能够显示列表并添加新对象。 这些操作在模态对话框中。 我现在有一些问题: 如何将对象发送到动作控制器,然后在选择对象时使用javascript将其显示或编辑到模式对话框中 第二张图片是当我单击“添加新对象”时,它显示了模式对话框,所有操作都与“添加”配合良好,但与其他操作不配合 我的代码 对象控制
对象{Id,code,Name}
我想列出网格中的对象,进行编辑、添加和删除。
我能够显示列表并添加新对象。
这些操作在模态对话框中。
我现在有一些问题:
- 对象控制器:
public ActionResult AddObject() { if (Request.IsAjaxRequest()) return PartialView(dd); return View(dd); } [HttpPost] public ActionResult AddObject(ModelObject model) { /* Working Code */ }
- AddObject局部视图:
@using (Ajax.BeginForm("AddObject", "Object", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "msgAdd", OnSuccess = "addSuccess", OnFailure = "addFailure" }, new { @class = "form-horizontal" })) { @Html.ValidationSummary(true); <div class="row" style="padding: 5px 0 5px 0"> <div class="col-lg-12"> <div class="col-lg-12 border no-margin" style="padding:10px 0px 10px 0 !important"> <div class="form-group" style="align-content:center"> <label class="col-sm-4 control-label">Code </label> <div class="col-lg-6"> @Html.TextBoxFor(m => m.Code, new { @class = "form-control", placeholder = "Code" }) @Html.ValidationMessageFor(m => m.Code) </div> <label class="col-sm-4 control-label">Libellé </label> <div class="col-lg-6"> @Html.TextBoxFor(m => m.Name, new { @class = "form-control", placeholder = "Libellé " }) @Html.ValidationMessageFor(m => m.Name) </div> </div> </div> </div> </div> <div class="hr-line-solid no-margin"></div> <div class="row" style="padding: 5px 0 5px 0"> <div class="col-sm-1 col-sm-offset-4"> <button type="reset" class="btn btn-outline btn-primary"><i class="icon-refresh icon-white"></i> Réinitialiser</button> </div> <div class="col-sm-3 col-sm-offset-4"> <button type="reset" class="btn btn-default right" data-dismiss="modal">Annuler</button> <input type="submit" value="Enregistrer" class="btn btn-success right" /> </div> </div> <div id="msgAdd" style="display:none"> </div> } </div>
@使用(Ajax.BeginForm(“AddObject”,“Object”, 新选择 { HttpMethod=“POST”, UpdateTargetId=“msgAdd”, OnSuccess=“addSuccess”, OnFailure=“addFailure” }, 新的{@class=“form horizontal”}) { @Html.ValidationSummary(true); 代码 @TextBoxFor(m=>m.Code,新的{@class=“formcontrol”,placeholder=“Code”}) @Html.ValidationMessageFor(m=>m.Code) 利伯莱 @TextBoxFor(m=>m.Name,新的{@class=“formcontrol”,placeholder=“libelle”}) @Html.ValidationMessageFor(m=>m.Name) Ré初始化器 环空器 }
- ListObjects视图:
<tbody> @foreach (var m in Model.objects) { <tr class="gradeX"> <td id="idObject" style="display:none;"><span class="hideextra">@m.Id</span></td> <td><span class="hideextra">@m.Code</span></td> <td><span class="hideextra">@m.Name</span></td> <td class="infont"> <center> <a id="btnEdit"><i class="fa fa-pencil-square-o text-"></i></a> <a href="#"><i class="fa fa-trash-o text-danger"></i></a> <a href="#"><i class="fa fa-search text-navy"></i></a> </center> </td> </tr> } </tbody>
@foreach(Model.objects中的var m) { @m、 身份证 @m、 代码 @m、 名字 }
- Javascript:
1-加入:
$(文档).ready(函数(){
//jQuery.noConflict();
$(“#btn”)。单击(函数(){
var url=“AddObject”;//指向控制器的url
$.get(url、函数(数据){
美元(“#saiiejdiag”)。可拖动({
句柄:“.modal头”
});
$(“#saiiejdiag”).resizeable();
$(“#saiiejdiag”).html(数据);
美元(“#saiiejdiag”).modal(“show”)
$('saiiejdiag').on('show.bs.modal',function(){ $('.select',this.select(); }); $('.i-checks').iCheck({ checkboxClass:'icheckbox_square-green', 无线电课堂:“伊拉迪奥广场-绿色”, }); }); }); });
现在我想要同样的方法,但编辑和显示模型上的obecjt,我怎么能做到这一点 看起来你只是在使用(Ajax.BeginForm(“AddObecjt”,“Obecjt”,“Obecjt”,“)的
@中有一个打字错误,应该改为使用(Ajax.BeginForm(“AddObject”,“Object”,“
),因为名称必须匹配)。@DavidPine当我做了一些简化的更改时,这是一个错误
$('#saisieJDiag').on('shown.bs.modal', function () {
$('.chosen-select', this).chosen();
});
$('.i-checks').iCheck({
checkboxClass: 'icheckbox_square-green',
radioClass: 'iradio_square-green',
});
});
});
});
</script>