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