我创建了一个表单,可以将少量数据插入到数据库中。我正在使用jquery在我的mvc项目中插入数据,但我对如何创建插入函数感到困惑。
首先,我创建了一个通过ID插入或更新记录的方法。但我不知道如何使用Id作为主要内容来检查是否插入或更新。我知道如果我的ID等于0意味着插入或大于0然后更新但是如何将其添加到我的函数中。其次,我知道我的插入功能似乎不是正确的方法,但可以更容易实现?
(查看)的.asmx
<script type="text/javascript">
$(document).ready(function() {
//function will be called on button click having id btnsave
$("#btnRoleListSubmit").click(function() {
$.ajax({
type: "POST", //HTTP POST Method
url: '/Admin.mvc/Admin/InsertRoleList', // Controller/View
data: { //Passing data
Name: $("#Name").val(), //Reading text box values using Jquery
Role: $("#Role").val(),
}
});
});
});
</script>
<table align="center">
<tr>
<td valign="top" width="100" class="col-label">
<span>Name</span>
</td>
<td class="col-label">
<input type="text" maxlength="200" style="margin-left: 0;" name="Name" id="Name"
class="required" value="" />
</td>
</tr>
<tr>
<td valign="top" class="col-label">
Employee Role
</td>
<td class="col-label">
<textarea id="Role" name="Role" class="required" cols="15" rows="2"></textarea>
</td>
</tr>
</table>
<hr />
<div style="margin: 12px;" align="center">
<button type="submit" name="btnRoleListSubmit" class="actionButton">
<span>Add Employee Role</span></button>
</div>
(控制器)的.cs
public ActionResult InsertRoleList(int branchId, RoleListViewModel obj)
{
AddDetails(branchId, obj);
return View();
}
private void AddDetails(int branchId, EmailListViewModel obj)
{
Branch branches = this._branches.GetID(branchId);
var GetDB = branches.GetClientDatabase();
RoleListViewModel listData = new RoleListViewModel();
{
listData.Name= obj.Name;
listData.Role= obj.Role;
};
List<int> lstIds = GetDB.InsertorUpadateRole(obj);
}
SqlQueries.cs
public List<int> InsertorUpadateRole (RoleList obj)
{
RoleList lstData = new RoleList();
string sqlQuery = string.Empty;
sqlQuery = @"INSERT INTO [dbo].[EmployeeRoleList]
([name],
[is_active],
[role],
[is_admin]
}
VALUES ( '{0}','1','{2}','0')
SELECT SCOPE_IDENTITY() AS id;";
try
{
this.ExecuteReader((record) =>
{
Name = Convert.ToInt32(record["name"]);
Role = Convert.ToInt32(record["role"]);
},
string.Format(sqlQuery, lstdata.Name, lstdata.Role));
}
catch (Exception e)
{
var message = e;
}
}
任何人都可以帮忙吗?
答案 0 :(得分:0)
您的网址通常以控制器开头,请尝试&#34; / Admin / InsertRoleList&#34;。你的ajax post参数需要匹配控制器InsertRoleList(string Name,string Role),它与你的控制器代码不太相似......