Asp.net 使用免费jqgrid发布数据,客户端和Web API端的代码是什么?
我正在使用ASP.NETMVC6WebAPI。在我使用的视图中 让我们借钱来证明我的目的。我们已经把桌子拿出来了 接下来,我将添加新的供应商。请通知数据库中存在主键id(标识列)。我们不希望它显示在屏幕上。 在Asp.net 使用免费jqgrid发布数据,客户端和Web API端的代码是什么?,asp.net,asp.net-web-api,jqgrid,Asp.net,Asp.net Web Api,Jqgrid,我正在使用ASP.NETMVC6WebAPI。在我使用的视图中 让我们借钱来证明我的目的。我们已经把桌子拿出来了 接下来,我将添加新的供应商。请通知数据库中存在主键id(标识列)。我们不希望它显示在屏幕上。 在VendorRespository.cs中,我将新供应商添加为 public void AddVendor(Vendor item) { using (VendorDataContext dataContext = new VendorDataContex
VendorRespository.cs
中,我将新供应商添加为
public void AddVendor(Vendor item)
{
using (VendorDataContext dataContext = new VendorDataContext())
{
dataContext.Database.Connection.ConnectionString = DBUtility.GetSharedConnectionString(
"http://centralized.admin.test.com");
var newVendor = dataContext.Vendors.Create();
newVendor.Company = item.Company;
newVendor.ContactName = item.ContactName;
newVendor.ContactPhone = item.ContactName;
newVendor.UserName = item.UserName;
newVendor.UserKey = item.UserKey;
newVendor.Active = item.Active;
newVendor.FacilityId =item.FacilityId;
newVendor.ClientID = item.ClientID;
dataContext.SaveChanges();
}
}
我的问题是:
<script>
API_URL = "/VendorManagement/";
function updateDialog(action) {
return {
url: API_URL
, closeAfterAdd: true
, closeAfterEdit: true
, afterShowForm: function (formId) { }
, modal: true
, onclickSubmit: function (params) {
var list = $("#jqgrid");
var selectedRow = list.getGridParam("selrow");
rowData = list.getRowData(selectedRow);
params.url += rowData.Id;
params.mtype = action;
}
, width: "300"
};
}
jQuery("#jqgrid").jqGrid('navGrid',
{ add: true, edit: true, del: true },
updateDialog('PUT'),
updateDialog('POST'),
updateDialog('DELETE')
);
API_URL=“/VendorManagement/”;
函数updateDialog(操作){
返回{
url:API_url
,closeAfterAdd:true
,closeAfterEdit:true
,余波形式:函数(formId){}
,模态:真的
,onclickSubmit:function(参数){
风险值列表=$(“#jqgrid”);
var selectedRow=list.getGridParam(“selrow”);
rowData=list.getRowData(selectedRow);
params.url+=rowData.Id;
params.mtype=操作;
}
,宽度:“300”
};
}
jQuery(“#jqgrid”).jqgrid('navGrid'),
{add:true,edit:true,del:true},
updateDialog('PUT'),
updateDialog('POST'),
updateDialog('DELETE')
);
// POST
public HttpResponseMessage PostVendor(Vendor item)
{
_vendorRespository.AddVendor(item);
var response = Request.CreateResponse<Vendor>(HttpStatusCode.Created, item);
string uri = Url.Link("DefaultApi", new { id = item.Id });
response.Headers.Location = new Uri(uri);
return response;
}
//POST
公共HttpResponseMessage PostVendor(供应商项目)
{
_供应商回复。添加供应商(项目);
var response=Request.CreateResponse(HttpStatusCode.Created,item);
字符串uri=Url.Link(“DefaultApi”,新的{id=item.id});
response.Headers.Location=新Uri(Uri);
返回响应;
}
我的代码有许多编译错误,例如我从中借用了代码片段,我需要添加如下代码
[Microsoft.AspNet.Mvc.HttpGet]
public dynamic GetVendorById(int pkey)
{
return null;
}
及
//POST
[System.Web.Http.HttpPost]
公共HttpResponseMessage PostVendor(供应商项目)
{
_供应商回复。添加供应商(项目);
var response=Request.CreateResponse(HttpStatusCode.Created,item);
字符串uri=Url.Link(“/VendorManagement/GetVendorById”,new{id=item.pkey});
response.Headers.Location=新Uri(Uri);
返回响应;
}
有关错误,请检查@techspider,是。我使用Controller
而不是ApiController
。那么,如何更改我的代码呢?请尝试更改class@techspider,我改了。而我的代码是借用的。还有什么我必须改变的?@Love:如果你用创建数据库表的SQL脚本来准备演示会更好。您可以将演示项目上传到某个地方(例如GitHub),我将对其进行修改。
// POST
[System.Web.Http.HttpPost]
public HttpResponseMessage PostVendor(Vendor item)
{
_vendorRespository.AddVendor(item);
var response = Request.CreateResponse<Vendor>(HttpStatusCode.Created, item);
string uri = Url.Link("/VendorManagement/GetVendorById", new { id = item.pkey });
response.Headers.Location = new Uri(uri);
return response;
}