根据选中的下拉列表编辑ViewBag

时间:2016-06-01 13:38:15

标签: c# jquery asp.net ajax asp.net-mvc

我有一些带有下拉列表的表单,我希望当我选择该下拉列表时,该值会在没有页面重新加载的情况下传递到控制器,然后根据值来更改该表单,而不会重新加载页面。我搜索像ajax等的参考,但没有一个适合我。请帮忙,

我在控制器中有两个操作与该视图,一个用于显示表单,另一个用于处理带有该表单的httppost,我是否还要为此制作一个?

三江源

1 个答案:

答案 0 :(得分:0)

你可以做的是使用Ajax: - 使用MVC API控制器会更好。 (阅读Api控制器)

- 如果您想使用控制器,请将路径添加到路由表

示例:

- 您选择/更改的下拉列表应触发您的JavaScript功能。

- 您的javaScript函数应包含以下内容:

- (了解如何传递json对象)。

  var json = { //You will use json to send your selected value to your controller or api

            selectedValue: SelectedValue

        }
     $.post("//Path for controller/FolderName/Controller/MethodName", json, function (data)   {

           //Code after data received

           if(data.success == true){//display message etc)



      });

替代: 使用表单创建另一个页面并使用razor编辑表单。 你可以在Jquery中尝试$ get函数。 在下拉列表的更改事件中,您可以调用javaScript方法来使用$ get:

实施例

$.get(url, function (data) {
$YourDiv.html(data); //re-insert the form into the page
}

https://api.jquery.com/jquery.get/