【问题标题】:Can my dropdownlistbox on MVC fire an event so I can populate another?MVC 上的下拉列表框可以触发一个事件,以便我可以填充另一个事件吗?
【发布时间】:2011-08-06 11:46:54
【问题描述】:

我的 MVC 网页上有一个下拉列表框。下拉列表允许我选择国家名称。当用户更改国家/地区时,我希望另一个下拉列表中包含该国家/地区的城市。

这可能与MVC有关吗?我不确定是否应该使用 javascript、AJAX、jquery 或两者的组合。

我们将不胜感激所有帮助和建议。

【问题讨论】:

标签: jquery asp.net-mvc ajax model-view-controller


【解决方案1】:

使用 jQuery 的 ajax 功能。当第一个列表更改 (.change()) 时,向 MVC JSON 操作发送 ajax 请求。当请求返回时,您可以使用它来填充下一个下拉列表。

【讨论】:

    【解决方案2】:
    $('#myDropDown').live('change', function(){
    });
    

    您还可以使用 Ajax 调用辅助页面,在该页面中填充并返回一个序列化的 json。

    另一个选项是使用 AutoPostBack 和 OnSelectedIndexChanged(将其用作reference

    【讨论】:

      【解决方案3】:
      <script type="text/javascript >
          //Function for package binding on ddlindustry selected change index
          $("#ID_OF_THAT DDL").change(function () {
      
              var vv = $("#ID_OF_THAT DDL option:selected").val();
              if (vv >= 0) {
      
                  $.ajax({
                      type: "GET",
                      url: '<%=Url.Action("ACTION", "CONTROLLER") %>',
                      data: {
                          "VARIABLE_TO_PASS": $("#ID_OF_THAT DDL option:selected").val()
                      }, //you can call public action from controller
                      dataType: "text", //in data enter value which u have 2 pass must same as like control actioresult passing param
                      contentType: "application/json",
                      success: bindpackage
                  })
              }
          });
      </script>
      
      <script type="text/javascript">
          function bindpackage(result) {
              eval(result);
          }
      

      之后在你的控制器中:

      public ActionResult Function123 (int VARIABLE_TO_PASS){
      
          RjsResult r = new RjsResult();
      
          ViewData["Name"] = function to get data;
      
          r.update("DIV_NAME","Name of the partial to update",ViewData, ControllerContext);
      
          return r;
      
      }
      

      希望有帮助:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-22
        • 2012-04-03
        • 1970-01-01
        相关资源
        最近更新 更多