【问题标题】:MVC - Show Partial View on SelectBox Index ChangeMVC - 在 SelectBox 索引更改上显示部分视图
【发布时间】:2012-09-03 01:03:32
【问题描述】:

我有一个带有各种键值对的选择框。我想要做的是,当我在选择框中选择一个项目时,我想使用该选定的键值对来显示一个表单(部分视图)并使用基于该选定值的值填充它。我想我需要一个回调到我的控制器或返回部分视图的东西,但不知道如何准确地做到这一点,因为它超出了我一直在使用的典型 MVC 工作流程。任何帮助我研究如何做到这一点的链接将不胜感激。

【问题讨论】:

    标签: c# asp.net-mvc partial-views


    【解决方案1】:

    在此处查看接受的 SO 答案Dynamically loading partial view

    如果在浏览器中禁用了 javascript,您将需要一个触发器(例如一个按钮)来触发对所有操作的回发。

    【讨论】:

      【解决方案2】:

      假设你有一个像这样呈现 HTML Select 的视图

      <select id="states">
        <option value="1">MI</option>
        <option value="2">NY</option>
        <option value="3">CA</option>
      </select>
      <div id="partialContent"> </div>
      

      我们将捕获这个 SELECT 元素的 change 事件并对服务器进行 ajax 调用以获取部分视图内容

      <Script type="Text/javascript">
       $(function(){
         $("#states").change(function(){
           var stateId=$(this).val();
           $("#partialContent").load("@Url.Action("StateDetails","State")/"+stateId);
         });
       });
      
      </script>
      

      这将进行一个 ajax GET 调用,通过将参数 id 与值作为 HTML Select 的选定值传递来从 State 控制器中的 StateDetails 操作方法获取响应。

      public ActionResult StateDetails(int id)
      {
        var stateDetail=myRepositary.GetStateDetail(id);
        return View(stateDetail);
      }
      

      【讨论】:

        猜你喜欢
        • 2014-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-15
        相关资源
        最近更新 更多