MVC - 显示选择框索引更改的部分视图

时间:2012-09-02 02:21:32

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

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

2 个答案:

答案 0 :(得分:0)

请参阅此处{s = 3}}。

如果在浏览器中禁用了javascript,则需要触发器(例如按钮)来触发回发到所有操作。

答案 1 :(得分: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元素的change事件,并对服务器进行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);
}