在jquery帖子上呈现不同的视图

时间:2011-04-13 21:48:28

标签: jquery asp.net-mvc

我是新手,所以如果我提出一个荒谬的问题,请耐心等待......

我正在尝试将id发布到我的操作结果上,使用$.post更改了下拉值,但是它可以正常工作,但它会返回到相同的视图,但我想让它呈现不同的视图< / p>

这是我的jquery代码,它位于home / index

 $('#select-supplier').change(function (e) {
                var atrVal = $(this).val();
                if (atrVal != '') {

                    $.post('<%=Url.Action("SupplierSelect","Supplier")%>', { id: atrVal });


                    // alert('value changed ' + atrVal);
                } else { alert('please  select a value'); }


            });

这是我的控制器端(SupplierController)

 public class SupplierController : Controller
    {               
        public ActionResult SupplierSelect(int id)
        {
            //some code
            return View();
        }

    }

而不是渲染SupplierSelect视图,而是从它所在的主页/索引返回

提前预订

2 个答案:

答案 0 :(得分:1)

$ .post向服务器发送(HTTP POST)请求,响应返回到post方法,而不是浏览器。听起来你想要的是从javascript重定向到另一个页面。因此,您需要执行重定向而不是帖子,如下所示:

window.location = '<%= Url.Action(...)';

答案 1 :(得分:0)

我看不到你对$ .post()调用成功采取任何行动。理想情况下,您将使用返回的html填充页面上的其他元素。

喜欢

$.post('<%=Url.Action("SupplierSelect","Supplier")%>', { id: atrVal }, function(data) {
  $('#supplier_div').html(data);
});

如果它应该去一个完全不同的页面,那么你只想提交表单而不是使用AJAX?