0

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

4

2 回答 2

0

请参阅此处接受的 SO 答案Dynamically loading partial view

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

于 2012-09-02T02:42:53.980 回答
0

假设您有一个呈现这样的 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 元素的更改事件,并对服务器进行 ajax 调用以获取部分视图内容

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

</script>

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

public ActionResult StateDetails(int id)
{
  var stateDetail=myRepositary.GetStateDetail(id);
  return View(stateDetail);
}
于 2012-09-02T02:53:40.753 回答