我有一些带有下拉列表的表单,我希望当我选择该下拉列表时,该值会在没有页面重新加载的情况下传递到控制器,然后根据值来更改该表单,而不会重新加载页面。我搜索像ajax等的参考,但没有一个适合我。请帮忙,
我在控制器中有两个操作与该视图,一个用于显示表单,另一个用于处理带有该表单的httppost,我是否还要为此制作一个?
三江源
答案 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
}