[英]Insert data to database using AJAX (ASP.NET MVC )
I have table with Question1 - Question10我有 Question1 的表格 - Question10
Here is table syntax这是表格语法
CREATE TABLE [dbo].[QuestionBlocks] (
[Block_ID] INT IDENTITY (1, 1) NOT NULL,
[Question1] NVARCHAR (MAX) NULL,
[Question2] NVARCHAR (MAX) NULL,
[Question3] NVARCHAR (MAX) NULL,
[Question4] NVARCHAR (MAX) NULL,
[Question5] NVARCHAR (MAX) NULL,
[Question6] NVARCHAR (MAX) NULL,
[Question7] NVARCHAR (MAX) NULL,
[Question8] NVARCHAR (MAX) NULL,
[Question9] NVARCHAR (MAX) NULL,
[Question10] NVARCHAR (MAX) NULL,
Also I have DropDownLists for those questions我也有这些问题的 DropDownLists
Here is it's looks like这是它的样子
I need on button click get data from DropdownLists and write Question1-Question10 rows in Database.我需要单击按钮从 DropdownLists 获取数据并在数据库中写入 Question1-Question10 行。
Here is My Controller这是我的控制器
public ActionResult Index()
{
ViewBag.Question1 = new SelectList(db.Questions,"QuestionId","question");
ViewBag.Question2 = new SelectList(db.Questions, "QuestionId", "question");
ViewBag.Question3 = new SelectList(db.Questions, "QuestionId", "question");
ViewBag.Question4 = new SelectList(db.Questions, "QuestionId", "question");
ViewBag.Question5 = new SelectList(db.Questions, "QuestionId", "question");
ViewBag.Question6 = new SelectList(db.Questions, "QuestionId", "question");
ViewBag.Question7 = new SelectList(db.Questions, "QuestionId", "question");
ViewBag.Question8 = new SelectList(db.Questions, "QuestionId", "question");
ViewBag.Question9 = new SelectList(db.Questions, "QuestionId", "question");
ViewBag.Question10 = new SelectList(db.Questions, "QuestionId", "question");
return View(db.Questions.ToList());
}
And here is View这是视图
<div class="title2" style="margin-top: 15px; margin-left: 15px; margin-bottom: 15px; padding-top: 10px">
@Html.DropDownList("Question1", null, "Вопрос 1", htmlAttributes: new {@class = "form-control", @style = "height:40px;margin-bottom: 20px;",placeholder="lol"})
@Html.DropDownList("Question2", null, "Вопрос 2", htmlAttributes: new {@class = "form-control", @style = "height:40px; margin-bottom: 20px;"})
@Html.DropDownList("Question3", null, "Вопрос 3", htmlAttributes: new {@class = "form-control", @style = "height:40px; margin-bottom: 20px;"})
@Html.DropDownList("Question4", null, "Вопрос 4", htmlAttributes: new {@class = "form-control", @style = "height:40px; margin-bottom: 20px;"})
@Html.DropDownList("Question5", null, "Вопрос 5", htmlAttributes: new {@class = "form-control", @style = "height:40px; margin-bottom: 20px;"})
@Html.DropDownList("Question6", null, "Вопрос 6", htmlAttributes: new {@class = "form-control", @style = "height:40px; margin-bottom: 20px;"})
@Html.DropDownList("Question7", null, "Вопрос 7", htmlAttributes: new {@class = "form-control", @style = "height:40px; margin-bottom: 20px;"})
@Html.DropDownList("Question8", null, "Вопрос 8", htmlAttributes: new {@class = "form-control", @style = "height:40px; margin-bottom: 20px;"})
@Html.DropDownList("Question9", null, "Вопрос 9", htmlAttributes: new {@class = "form-control", @style = "height:40px; margin-bottom: 20px;"})
@Html.DropDownList("Question10", null, "Вопрос 10", htmlAttributes: new {@class = "form-control", @style = "height:40px; margin-bottom: 20px;"})
</div>
I think AJAX can do this, but how I need to write code or where I can write about how to do this?我认为 AJAX 可以做到这一点,但是我需要如何编写代码或者我可以在哪里写关于如何做到这一点?
Thank's谢谢
UPDATE更新
Thank's Prasanna Kumar J for answer感谢 Prasanna Kumar J 的回答
I have one more question我还有一个问题
I write function and try to run it by button click I write this code in html我编写函数并尝试通过单击按钮来运行它我用 html 编写此代码
<input id="save" type="button" value="Save" onclick="save();"/>
And this in JS这在 JS
$(document).ready(function () {
$('#save').click(function () {
save();
});
});
But function doesn't run on button.但是功能不在按钮上运行。 Where is error?
错误在哪里?
You're using ASP.NET MVC, so in your questions controller, you can create a [HttpPost]
method to handle database updates.您正在使用 ASP.NET MVC,因此在您的问题控制器中,您可以创建一个
[HttpPost]
方法来处理数据库更新。
If you're using SQL Server, you can use the classes in the System.Data.SqlClient
namespaces and take a look at MSDN documentation with examples .如果您使用的是 SQL Server,则可以使用
System.Data.SqlClient
命名空间中的类并查看带有示例的 MSDN 文档。
If you're using MySQL, you can use the MySQL .NET Connector - information available on their site including documentation .如果您使用的是 MySQL,您可以使用 MySQL .NET 连接器 -在他们的网站上提供的信息,包括文档。
In the database update method, you can use an UPDATE
or INSERT
query to update the data in the database.在数据库更新方法中,您可以使用
UPDATE
或INSERT
查询来更新数据库中的数据。 To retreive the information, have a <form method="post" action="your_update_page">
and a <input type="submit" />
.要检索信息,请使用
<form method="post" action="your_update_page">
和<input type="submit" />
。 This will post the information contained within input fields (with required names equivalent to parameters in update method) to be accessed by your back-end controller to make database updates when triggered.这将发布包含在输入字段中的信息(所需名称等同于更新方法中的参数),以供后端控制器访问以在触发时进行数据库更新。
Try this.尝试这个。 In Client Side
在客户端
function save()
{
$.ajax({
type: 'Post',
dataType: 'Json',
data: { question1: $('#question1').val(),
question2: $('#question2').val(),
question3: $('#question3').val(),
question4: $('#question4').val(),
question5: $('#question5').val(),
question6: $('#question6').val(),
question7: $('#question7').val(),
question8: $('#question8').val(),
question9: $('#question9').val(),
question10: $('#question10').val()
},
url: '@Url.Action("SaveAction", "SaveController")',
success: function (da) {
if (da.Result == "Success") {
alert('saved sucessfully')
} else {
alert( 'Error'+ da.Message);
}
},
error: function (da) {
alert('Error');
}
});
}
In server Side在服务器端
[httppost]
public ActionResult SaveAction(string question1,string question2,string question3,.....,string question10)
{
//do something
return Json(new { Result = "Success", Message = "Saved Successfully" }, JsonRequestBehavior.AllowGet);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.