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

use ajax to get controller action render in same page

本文关键字:控制器 获取 ajax 一页 使用      更新时间:2023-09-26

这是我的视图代码

我有一个下拉列表,其中的选项值为/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>

试试这个

<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中加载页面。