Jas*_*per 12 asp.net-mvc asp.net-mvc-3
对于一个项目,我需要一种加载部分视图的动态方法,最好是通过jquery/ajax.
这是我需要的功能:
在可能的情况下,这应该都是ajaxified.
我已经阅读了有关动态加载partials的一些内容,但我想重新发布完整的案例,以便为这个特定案例找到最佳解决方案.
Dar*_*rov 16
假设你有一个下拉列表:
@Html.DropDownListFor(
x => x.ItemId,
new SelectList(Model.Items, "Value", "Text"),
new {
id = "myddl",
data_url = Url.Action("Foo", "SomeController")
}
)
Run Code Online (Sandbox Code Playgroud)
您可以订阅.change()此下拉列表的事件并向控制器操作发送AJAX请求,该操作将返回部分并将结果注入DOM:
<script type="text/javascript">
$(function() {
$('#myddl').change(function() {
var url = $(this).data('url');
var value = $(this).val();
$('#result').load(url, { value: value })
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
并将DIV标记放在要在主视图中呈现局部视图的位置:
<div id="result"></div>
Run Code Online (Sandbox Code Playgroud)
在Foo动作中你可以返回一个局部视图:
public ActionResult Foo(string value)
{
SomeModel model = ...
return PartialView(model);
}
Run Code Online (Sandbox Code Playgroud)