使用 jquery 对话框按钮在 asp.net 中触发 actionresult 方法

发布于 2024-11-06 09:20:05 字数 1343 浏览 1 评论 0原文

有没有办法让 jQuery 对话框按钮触发控制器中的方法,使其像提交按钮一样工作?

控制器中的代码

[HttpPost]
       public ActionResult Create(Film filmToCreate){
            try{

                filmToCreate = new Film();
                System.Diagnostics.Debug.WriteLine("Constructed Film");
                UpdateModel(filmToCreate);
                System.Diagnostics.Debug.WriteLine("Updated Model");
                repo.Add(filmToCreate);
                System.Diagnostics.Debug.WriteLine("Added Film");
                repo.Save();
                System.Diagnostics.Debug.WriteLine("Save Databases");
                System.Diagnostics.Debug.WriteLine("Return1");
                return RedirectToAction("Index");

            }
            catch {

                System.Diagnostics.Debug.WriteLine("Caught something");
                return RedirectToAction("Create");
            }

        }

// 对话框中的代码

 buttons: {
                    "Create": function() {



                    },

                    "Reset": function() {
                        $("#createForm input").attr("value", "");

                    },

                    "Close": function() {
                        $(this).dialog('close');
                    }


                }

Url 类中是否有某种方法能够将此方法链接到此按钮?

Is there a way of making a jQuery dialog button trigger a method in controller so it works like a submit button?

Code in controller

[HttpPost]
       public ActionResult Create(Film filmToCreate){
            try{

                filmToCreate = new Film();
                System.Diagnostics.Debug.WriteLine("Constructed Film");
                UpdateModel(filmToCreate);
                System.Diagnostics.Debug.WriteLine("Updated Model");
                repo.Add(filmToCreate);
                System.Diagnostics.Debug.WriteLine("Added Film");
                repo.Save();
                System.Diagnostics.Debug.WriteLine("Save Databases");
                System.Diagnostics.Debug.WriteLine("Return1");
                return RedirectToAction("Index");

            }
            catch {

                System.Diagnostics.Debug.WriteLine("Caught something");
                return RedirectToAction("Create");
            }

        }

// Code in dialog

 buttons: {
                    "Create": function() {



                    },

                    "Reset": function() {
                        $("#createForm input").attr("value", "");

                    },

                    "Close": function() {
                        $(this).dialog('close');
                    }


                }

Is there some method in the Url class that will be able to link this method to this button?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一袭白衣梦中忆 2024-11-13 09:20:05

根据 API 你会做这样的事情:

$( ".selector" ).dialog({ buttons: [
    {
        text: "Ok",
        click: function() 
        {
            $.get("controller/action", dataToSubmit);
            $(this).dialog("close"); 
        }
    }
] });

According to the API you would do something like this:

$( ".selector" ).dialog({ buttons: [
    {
        text: "Ok",
        click: function() 
        {
            $.get("controller/action", dataToSubmit);
            $(this).dialog("close"); 
        }
    }
] });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文