如何在asp.net mvc中调用简单的ajax程序
我开始在asp.NETMVC4中学习Ajax。我想基于以下场景创建一个非常简单的程序 我希望表单上有两个文本框(FirstName,LastName)和一个按钮,每当我在这些文本框中写入内容时,这些值应该使用Ajax分配给两个标签(lblFristName,lblLastName)。因此,该页面将不会刷新 如何实现上述功能?。请提供清晰/简单的代码示例,无其他网站链接,谢谢 以下是我正在尝试的代码:-如何在asp.net mvc中调用简单的ajax程序,ajax,asp.net-mvc,Ajax,Asp.net Mvc,我开始在asp.NETMVC4中学习Ajax。我想基于以下场景创建一个非常简单的程序 我希望表单上有两个文本框(FirstName,LastName)和一个按钮,每当我在这些文本框中写入内容时,这些值应该使用Ajax分配给两个标签(lblFristName,lblLastName)。因此,该页面将不会刷新 如何实现上述功能?。请提供清晰/简单的代码示例,无其他网站链接,谢谢 以下是我正在尝试的代码:- @model MvcAppLearn.Models.Student @{
@model MvcAppLearn.Models.Student
@{
ViewBag.Title = "AjaxCall";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>AjaxCall</h2>
@using (Html.BeginForm("AjaxCall", "Ajax", FormMethod.Post, new { id = "my-form" }))
{
@:FirstName @Html.EditorFor(x => x.FirstName);
@:FirstName @Html.EditorFor(x => x.LastName);
<input type="submit" value="Submit" />
}
<br />
<div id ="result">
</div>
@section scripts{
<script type="text/javascript">
$(function () {
$("#my-form").on("Submit", function (e) {
//e.preventDefault();
debugger
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
succes: function (data) {
$("#result").html(data);
},
error: function () {
alert("Oh noes");
}
});
});
});
</script>
}
上面的代码将我带到部分视图,但我希望生活在文本框所在的页面上,并在同一页面上显示这些标签。如果有任何错误,请更正,谢谢如果这是您的观点
@Html.TextBoxFor(r => r.textbox1, new { id = "textbox1"})
<label id="label1"></label>
我已经做到了,问题是我在“提交”中写“s”作为大写字母,在“成功”函数中遗漏了“s”。以下是正确的代码
<script type="text/javascript">
$(function () {
$("#my-form").on("submit", function (e) {
e.preventDefault();
//debugger
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (data) {
$("#result").html(data);
},
error: function () {
alert("Oh noes");
}
});
});
});
</script>
$(函数(){
$(“#我的表格”)。关于(“提交”,功能(e){
e、 预防默认值();
//调试器
$.ajax({
url:this.action,
类型:this.method,
数据:$(this).serialize(),
成功:功能(数据){
$(“#结果”).html(数据);
},
错误:函数(){
警惕(“哦,不”);
}
});
});
});
AJAX if用于调用服务器上的控制器方法。听起来您可以使用javascipt/jquery来实现这一点。你需要发布更多的细节,包括你的htmlSo什么不起作用。浏览器控制台中是否存在错误?你的方法被击中了吗?为什么要注释掉e.preventDefault()代码>?是的,我已经注释掉了。页面运行成功,正在刷新页面。但是我不想使用Ajax刷新页面代码>然后表单将提交。将其添加回,使默认操作不会触发。如果我评论或不评论,结果是相同的。在我的控制器中看到iam返回空间视图,可以吗?我不知道我陷入了什么境地。我正试图在mvc中学习ajax。所以我需要根据ajax方法的解决方案,谢谢
@Html.TextBoxFor(r => r.textbox1, new { id = "textbox1"})
<label id="label1"></label>
$('#textbox1').bind("change keyup", function() {
$('#label1').val($('#textbox1').val())
});
<script type="text/javascript">
$(function () {
$("#my-form").on("submit", function (e) {
e.preventDefault();
//debugger
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (data) {
$("#result").html(data);
},
error: function () {
alert("Oh noes");
}
});
});
});
</script>