使用ajax在同一页面中获取控制器动作

时间:2015-03-28 10:47:47

标签: javascript jquery ajax asp.net-mvc

这是我的视图代码

我有一个带有/ ControllerName / ActionName值的选项的下拉列表。

当我单击下拉列表值时,它会将我重定向到具有所选ControllerName和ActionName的另一个页面。我想使用ajax在同一个页面中呈现视图。视图应该在下面的空div标签内呈现。有人可以帮助我

@model Demo.Models.student

@{
    ViewBag.Title = "Index";
}

<h2>Hello student</h2>

<select id="foo">
    <option value="">Pick an Action</option>
  <option value="/home/index">Home</option>
    <option value="/home/profile">Profile</option>
</select>

<div id="main">


</div>


<script>
    document.getElementById("foo").onchange = function () {
        if (this.selectedIndex !== 0) {
            window.location.href = this.value;
        }
    };
</script>

1 个答案:

答案 0 :(得分:2)

试试这个

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>‌
<script type="text/javascript">
     $('#foo').change(function(){
          if($(this).val()!=""&&$(this).val!=null){
               $.ajax({
                   url:$('#foo').val(),
                   data:'',
                   type:'post',
                   success:function(data){
                       $('#main').html(data);
                   }
                })
           }
     });
</script>

这有助于您加载main div

中的网页