c# – 在Mvc中对控制器进行简单的Ajax调用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 在Mvc中对控制器进行简单的Ajax调用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2384字,纯文字阅读大概需要4分钟。
内容图文
![c# – 在Mvc中对控制器进行简单的Ajax调用](/upload/InfoBanner/zyjiaocheng/809/a5471396bc7240aab4e21c13ccc0f458.jpg)
我是mvc的新手,我尝试对我的控制器进行简单的Ajax调用,因此我可以在创建视图中使用日期和时间选择器.
当我在IE中使用调试时,我收到此错误消息,但如果我执行断点,看起来我得到了正确的数据.
The parameters dictionary contains a null entry for parameter ‘Lokal’ of non-nullable type ‘System.Int32’ for method
‘System.Web.Mvc.ActionResult CreateEvent(System.String, System.String,
System.String, Int32)’ in
‘VLVision.Controllers.SammantradesAdminController’. An optional
parameter must be a reference type, a nullable type, or be declared as
an optional parameter.
Parameternamn: parameters
script type="text/javascript">
function createSammantrade() {
var sammantrade = document.getElementById('sammantrade').value;
var date = document.getElementById('datepicker').value;
var startTime = date + ' ' + document.getElementById('StartTimepicker').value;
var endTime = date + ' ' + document.getElementById('EndTimepicker').value;
var lokal = document.getElementById('lokal').value;
$.ajax({
url: "@Url.Action("CreateEvent", "SammantradesAdmin")",
data: { createSammantrade: sammantrade, createStartTime: startTime, createEndTime: endTime, createLokal: lokal },
type: "POST",
error: function () {
alert("An error occurred.");
},
success: function (data) {
$("#clanderDiv").html(data);
$("#setEventResponse").html("H?ndelse sparad");
// $(".blank").tooltip();
}
});
}
调节器
public ActionResult Create()
{
ViewBag.lID = new SelectList(db.Lokal, "lID", "lLokal");
return View();
}
[HttpPost]
public ActionResult CreateEvent(string createSammantrade, string createStartTime, string createEndTime, int Lokal)
{
Sammantrade sammantrade = new Sammantrade();
sammantrade.sSammantrade = createSammantrade;
sammantrade.sStartTid = Convert.ToDateTime(createStartTime);
sammantrade.sSlutTid = Convert.ToDateTime(createEndTime);
sammantrade.lID = Lokal;
if (ModelState.IsValid)
{
db.Sammantrade.Add(sammantrade);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.lID = new SelectList(db.Lokal, "lID", "lLokal", sammantrade.lID);
return View(sammantrade);
}
解决方法:
由于JS和C#中的参数名称不同,因此无法绑定:
data: { createSammantrade: sammantrade, createStartTime: startTime, createEndTime: endTime, createLokal: lokal }
public ActionResult CreateEvent(string createSammantrade, string createStartTime, string createEndTime, int Lokal)
在JS中将createLokal更改为lokal,或者在C#中将其更改为(或将一个名称绑定到另一个名称).
内容总结
以上是互联网集市为您收集整理的c# – 在Mvc中对控制器进行简单的Ajax调用全部内容,希望文章能够帮你解决c# – 在Mvc中对控制器进行简单的Ajax调用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。