mvc4 empty().html,jquery加载对话框MVC 4模态为空(jquery load dialog MVC 4 modal empty)

jquery加载对话框MVC 4模态为空(jquery load dialog MVC 4 modal empty)

我正在研究ASP.Net MVC4中的应用程序想法是将局部视图加载到模态对话框中,局部视图是图像遮罩,这里是代码(当我将部分加载到jquery对话框中时):

function cargarEmergente(codMovimiento) {

var url = '/Autoservicios/BcrExpedienteFuncionario/DetalleMovimientos?codMovimiento=valor';

url = url.replace("valor", codMovimiento);

$("#modalMovimientos").load(url).dialog({

height: 'auto',

maxWidth: 1024,

minWidth: 840,

position: ['middle', 70],

modal: true,

closeText: 'Cerrar'

});

}

顺便说一句,Movimientos是一种控制器方法......在Firefox,Chrome和IE 10,9,8中就像一个魅力,但在IE7中,应该加载局部视图的模态对话框是空的。

这是控制器方法:

public ActionResult DetalleMovimientos(int codMovimiento)

{

var movimientoSeleccionado = new BcrMovimiento {CodMovimiento = codMovimiento};

var archivosMovimiento = _movimientoArchivosModels.ConsultarPorMovimiento(movimientoSeleccionado);

var movimientoArchivoses = archivosMovimiento as IList ?? archivosMovimiento.ToList();

var count = movimientoArchivoses.Count();

if (count > 0)

{

var listaImagenes = movimientoArchivoses.Select

(archivo => new BcrMovimientoArchivos {Ruta = archivo.Ruta}).ToList();

ViewBag.codMovimiento = codMovimiento;

return PartialView(listaImagenes);

}

else

{

return Content("

El movimiento seleccionado no contiene archivos adjuntos.

");

}

}

Im working on an application in ASP.Net MVC4 The idea is to load a partial view into a modal dialog, the partial view is an image visor, here's the code(when I load the partial into the jquery dialog):

function cargarEmergente(codMovimiento) {

var url = '/Autoservicios/BcrExpedienteFuncionario/DetalleMovimientos?codMovimiento=valor';

url = url.replace("valor", codMovimiento);

$("#modalMovimientos").load(url).dialog({

height: 'auto',

maxWidth: 1024,

minWidth: 840,

position: ['middle', 70],

modal: true,

closeText: 'Cerrar'

});

}

Detalle Movimientos is a controller method by the way... Works like a charm in Firefox,Chrome and IE 10,9,8 but in IE7 the modal dialog where the partial view is supposed to be loaded is empty.

Here's the controller method:

public ActionResult DetalleMovimientos(int codMovimiento)

{

var movimientoSeleccionado = new BcrMovimiento {CodMovimiento = codMovimiento};

var archivosMovimiento = _movimientoArchivosModels.ConsultarPorMovimiento(movimientoSeleccionado);

var movimientoArchivoses = archivosMovimiento as IList ?? archivosMovimiento.ToList();

var count = movimientoArchivoses.Count();

if (count > 0)

{

var listaImagenes = movimientoArchivoses.Select

(archivo => new BcrMovimientoArchivos {Ruta = archivo.Ruta}).ToList();

ViewBag.codMovimiento = codMovimiento;

return PartialView(listaImagenes);

}

else

{

return Content("

El movimiento seleccionado no contiene archivos adjuntos.

");

}

}

原文:https://stackoverflow.com/questions/19308464

更新时间:2020-01-03 13:06

最满意答案

当我们删除我们视图中使用的另一个脚本中的尾随逗号时,问题就解决了! 似乎只有一个脚本中的一个失败就是弄乱了整个页面。 谢谢!

The issue resolved itself when we removed the trailing commas in another script our view was using! It seems one failure in just one script was messing the whole page. Thanks!

相关问答

挑战你是否可以更有效地做事(如你所拥有的那样)总是一个好主意。所以,让我们考虑一下...... 问题: 发送到两个ajax请求是一个好方法 - 一个用于加载局部视图,第二个用于发布部分删除请求 - 用于单个“用户操作”? 答案: 也许。 为什么? 根据您的示例,如果您的目标是简单地与用户确认他们是否要“删除狗ID: foo ?” 你绝对可以做到这一点,而无需前往服务器进行部分查看。 据推测,在你的第一个ajax调用 - $(this).attr('data-id'); - 是狗的Id。 你已经拥有

...

您的目标对话框中没有指向它的选择器。 var dialogDiv = "";

因此,您的jQuery Dialog不会显示任何内容。 $(dialogDiv).html(result);

用上面的语句更新 $("#Idofyourdiv").html(result);

希望能帮助到你 I found the solution, here we need to do, .success(function (result) {

alert(result);

$(dialogDiv).htm

...

根据您的代码,您必须将对话框追加到html正文。 尝试执行以下操作: $('.GetLink').click(function () { var $div = $('

+ '
' + '' + '
'; $('body').append($div); $('#dialog-box').dialog({ 让

...

它进入链接,因为你没有阻止默认的锚定行为。 使用event.preventDefault $('#modal').on('click', function(event){ //

event.preventDefault(); //

var $link = $(this);

var $dialog = $('

.load($li

...

当我们删除我们视图中使用的另一个脚本中的尾随逗号时,问题就解决了! 似乎只有一个脚本中的一个失败就是弄乱了整个页面。 谢谢! The issue resolved itself when we removed the trailing commas in another script our view was using! It seems one failure in just one script was messing the whole page. Thanks!

在函数外部初始化对话框。 在加载成功之前,您也不应尝试打开对话框。 $(function () {

$('label.answer').click(function (event) { openInDialog(this, event, 'http://localhost/Questions/Answer/2') });

});

var $dialog = $('

{

autoOpen: false

, modal: true

...

你需要调整依赖顺序,所以它是正确的,它应该是:

这可能是因为你所有的编辑链接都有相同的ID! 这将使jquery的行为非常难以预料! 改为给你的编辑链接一个共享类,如下所示: @Html.ActionLink("Edit", "Edit", new { id = item.ID }, new { @class = "modalEdit" })

并将您的选择器更改为: $('.modalEdit').click(function () {

It's likely because all your edit links have the sa

...

您没有在请求中将文件数据发送到服务器。 您需要将文件数据和表单成功发布到帖子表单。 您可以使用FormData() 。 请尝试以下代码

function uploadPopUp() {

$('#uploadCSVD').dialog({

autoOpen: true,

width: 600,

title: 'Upload CSV',

...

通过从.load切换到$ .get,它修复了我的问题并处理了对话框,并按预期返回。 By switching from .load to $.get it fixed my problem and my dialog processed and returned as expected.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值