【问题标题】:jquery dialog button to do the same as asp.net mvc submit buttonjquery 对话框按钮与 asp.net mvc 提交按钮一样
【发布时间】:2011-05-17 12:52:53
【问题描述】:

我试图找出一种方法,让名为 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/data参数是一个map或者string发送到服务器

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

谢谢

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      见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();
      });
      

      【讨论】:

      • 我认为他要求的是 Ajax 方式,而不是传统的回发方式。但无论如何,谢谢你的帮助。
      【解决方案3】:

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

      考虑以下一个:

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

      如果这对你有用,请告诉我,如果真的对你有帮助,别忘了标记为答案

      谢谢。

      【讨论】:

      • 如果名称与属性名称匹配,模型绑定器将为您执行此操作
      • 酷,我以前不知道这个,谢谢你和 +a 的新信息。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-14
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多