jQuery 对话框按钮与 asp.net MVC 提交按钮相同



我试图找出一种方法,让名为"创建"的jquery对话框按钮与 asp.net 提交按钮执行相同的操作。

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

我正在使用jquery 1.3.2

我想出了以下内容,让对话框使用正确的控制器方法。

       var url = '<%= Url.Action("Create1", "Home") %>';
       $.post(url,data, 
                            function(data) {
                                alert("Successful. Id for this client is " + data.ClientNo);
                                $("#CreateForm input").attr("value", ""); // Success
                            },
                            "json"); // DataType  

但是,该方法需要一个模型参数

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Create1(ClientDetail client)

查看 http://api.jquery.com/jQuery.post/数据参数是发送到服务器的映射或字符串

我想知道是否可以使用 .attr 方法将模型转换为地图或字符串?

谢谢

您唯一需要做的就是确保您的帖子数据与 ClientDetail 的属性值具有相同的名称。因此,如果ClientDetail有两个属性:NameAge ,请确保您发布的数据如下所示:

var data = { Name: 'ClientName', Age: 24 };

ASP.NET MVC 的DefaultModelBinder会将发布的数据绑定到您的ClientDetail对象。

请参阅 http://api.jquery.com/submit/

<form id="target" action="destination.html">
  <input type="text" value="Hello there" />
  <input type="submit" value="Go" />
</form>
<div id="other">
  Trigger the handler
</div>

Jquery函数:

$('#other').click(function() {
  $('#target').submit();
});

我能建议你做的是:让签名接受你所有的参数,你在服务器端将构造你的对象,并将其保存到你的数据存储中。

请考虑以下一个:

    [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Create1(string clientName, string clientTitle, int clientAge)
    {         
           var client = new Client()
                         {
                           name = clientName, 
                           title = clientTitle, 
                           age = clientAge, 
                           .., 
                           .., etc
                         } 
    }

让我知道这是否适合您,如果它真的对您有帮助,请不要忘记标记为答案

谢谢。

相关内容

  • 没有找到相关文章

最新更新