如何从javascript函数向Action发送参数?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何从javascript函数向Action发送参数?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1627字,纯文字阅读大概需要3分钟。
内容图文
![如何从javascript函数向Action发送参数?](/upload/InfoBanner/zyjiaocheng/667/4c82db3c87954f1a980615fbabfbb4b2.jpg)
我有一个简单的视图,它显示一个数据表,我想在AJAX单击标题时对它的列之一进行排序,我是AJAX和JS的新手,所以这是我在视图中的尝试:
<table id="tbl" class="table">
<tr>
<th>
<a style="cursor: pointer" onclick="getData('desc')" id="sort">Title</a>
</th>
<th>
Author
</th>
<th></th>
</tr>
</table>
@section scripts{
<script type="text/javascript">
$(document).ready(getData('asc'))
function getData(sort) {
var srt = sort;
$.ajax({
type: 'GET',
url: '/Book/BooksData/' + srt,
dataTtype: 'json',
success: function (data) {
$("#tbl > tr").remove();
$.each(data, function (index, val) {
$('#tbl').append('<tr><td>' + val.Title + '</td><td>' + val.Author.Name + '</td></tr>')
});
}
});
}
</script>
}
但是当我单击标题时,sort参数在操作中变为空,
public JsonResult BooksData(string sort)
{
var books = new List<Book>();
if (sort == "asc") books = db.Books.Include(b => b.Author).OrderBy(b => b.Title).ToList();
else books = db.Books.Include(b => b.Author).OrderByDescending(b => b.Title).ToList();
return Json(books, JsonRequestBehavior.AllowGet);
}
是的,我做错了,但是我进行了多次修改,除了在JavaScript中传递参数不同于C#之外,我看不到逻辑错误.
解决方法:
这是最简单的方法.您需要使用查询字符串将排序值连接到url.
现在,当您单击标题时,sort参数必须与操作中的值一起使用.
请尝试以下方法:
$.ajax({
type: 'GET',
url: '/Book/BooksData?sort=' + srt,
dataType: 'json',
success: function (data) {
$("#tbl > tr").remove();
$.each(data, function (index, val) {
$('#tbl').append('<tr><td>' + val.Title + '</td><td>' + val.Author.Name + '</td></tr>')
});
}
});
另一种方法是使用此方法:
url: '@Url.Action("BooksData","Book")?sort=' + srt
@ Url.Action仅返回一个字符串.
在Razor中,每个使用@块的内容均由Razor自动HTML编码.
内容总结
以上是互联网集市为您收集整理的如何从javascript函数向Action发送参数?全部内容,希望文章能够帮你解决如何从javascript函数向Action发送参数?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。