jquery对话框按钮与asp.net mvc提交按钮一样

时间:2011-05-17 12:52:54

标签: jquery asp.net asp.net-mvc-2 user-interface dialog

我试图找出一种方法让一个名为Create的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方法将模型转换为地图或字符串?

谢谢

3 个答案:

答案 0 :(得分:1)

请参阅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();
});

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

考虑以下因素:

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

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

感谢。