从按钮mvc调用对话框

时间:2012-03-08 16:24:52

标签: jquery asp.net-mvc

我是新的使用jquery,并开发为web,我有这个疑问,我想创建一个模式对话框,当我按下一个HTML按钮。我使用按钮的下一个代码

 <input type="submit" value="Siguiente"/>

在模态对话框中,我想推送一些我从表单中得到的信息,我想创建2个按钮,一个用于重定向到另一个页面,另一个保留在同一页面中,如是或否按钮

public ActionResult EntradaPedidos()
         {

             List<SelectListItem> divisiones = new List<SelectListItem>();
             List<Pedidos> misPedidos = miConexion.Division(username, password);
             foreach (var pedido in misPedidos)
             {
                 divisiones.Add(new SelectListItem() { Text = pedido.nombreDivision, Value = pedido.division });
             }
             ViewData["divisiones"] = new SelectList(divisiones, "Value", "Text", "Confeccion");

             //Ejemplo para llevar informacion a un label
             Pedidos miPedido = new Pedidos();
             miPedido.clave1 = "Funciona";
             miPedido.numPedido = "234";

             ViewData["FechaInicio"] = "";
             ViewData["codigoCliente"] = "";
             ViewData["ddListaPrecios"] = new SelectList(new[] { "(Selecciona)" });
             ViewData["ddListaVendedores"] = new SelectList(new[] { "(Selecciona)" });
             ViewData["listPrecios"] = "";
             ViewData["ddCiudad"] = new SelectList(new[] { "(Selecciona)" });
             ViewData["ddPuntosEntrega"] = new SelectList(new[] { "(Selecciona)" });

             return View(miPedido);
         }



[AcceptVerbs(HttpVerbs.Post)]
public ActionResult EntradaPedidos(FormCollection formulario) {

        Pedidos miPedido = new Pedidos();
        miPedido.division = Request.Form["division"];
        miPedido.fechaPedido = Request.Form["FechaInicio"];
        miPedido.codigoCliente = Request.Form["codigoCliente"];
        miPedido.codListaPrecios = Request.Form["tbListaPrecios"];
        miPedido.codVendedor = Request.Form["ddListaVendedores"];
        miPedido.codPuntoEntrega = Request.Form["ddPuntosEntrega"];


        return RedirectToAction("EntradaPedidosProducto");
}

1 个答案:

答案 0 :(得分:0)

您可以使用jQuery UI模式弹出窗口,并使用ajax请求将其内容加载到包含您的表单的部分视图。

http://jqueryui.com/demos/dialog/

在您的页面/视图中包含jQuery UI插件引用

 $('#yourForm').submit(function (e) {
       var url = "yourcontroller/EntradaPedidos"        
       var dialog = $("#dialog");
        if ($("#dialog").length == 0) {
             dialog = $('<div id="dialog" style="display:hidden"></div>').appendTo('body');
           }
           dialog.load(
                    url,
                    {}, // omit this param object to issue a GET request instead a POST request, otherwise you may provide post parameters within the object
                    function (responseText, textStatus, XMLHttpRequest) {
                        dialog.dialog({
                            close: function (event, ui) {
                                dialog.remove();
                            },
                            modal: true,                               
                             width: 460
                        });
                    }
                );
                return false;
            });

另一点需要注意的是,尽量避免使用ViewData并开始使用ViewModel。