我使用bootstrap在ASP.NET MVC上创建一个CRUD页面。我的问题是当我加载不同的记录,并尝试更新。有些记录工作正常,与其他人没有。我得到了de 404 Not found错误。
我使用相同的Action进行插入或更新。字段都是字符串。 起初我使用jquery serialize()函数来获取表单的值。
function InsertButtonEvent() {
var formvalues = $('#filialForm').serialize();
$.blockUI({ message: '<h1>Un momento por favor..</h1>' });
$.ajax({
type: "GET",
url: '../CatFiliales/InsertItem',
data: formvalues,
error: function (xhr, ajaxOptionx, thrownError) {
swal('error', xhr.status + ' ' + thrownError, 'error');
$.unblockUI();
}
})
.done(function (htmlPartialView) {
swal('', 'Registro Insertado', 'success');
renderPartialView(htmlPartialView);
});
比较要发布的表单值,缺少一些变量。所以,我强制发送相同的变量(即使没有数据)。并且结果仍然相同,有时我可以使用控制器方法,有时我会得到404未找到错误。
function InsertButtonEvent() {
var edo = $('#cmbEstadoLegal').val();
var formvalues = $('#filialForm').serialize();
var txtClaveFilialjq = $('#txtClaveFilial').val();
var txtDescripcionBrevejq = $('#txtDescripcionBreve ').val();
var txtDescripcionjq = $('#txtDescripcion').val();
var txtIdFiscaljq = $('#txtIdFiscal').val();
var txtNodoFilialjq= $('#txtNodoFilial ').val();
var cmbEstadojq = $('#cmbEstado').val();
var cmbParticipacionAccionariajq= $('#cmbParticipacionAccionaria').val();
var cmbCveEdoOperjq = $('#cmbCveEdoOper').val();
var cmbGiroFilialjq= $('#cmbGiroFilial').val();
var cmbGrupoFilialesjq= $('#cmbGrupoFiliales').val();
var cmbParaestataljq= $('#cmbParaestatal').val();
var cmbTipoEmpresajq= $('#cmbTipoEmpresa').val();
var cmbEstadoLegaljq= $('#cmbEstadoLegal').val();
var txtFecConstitjq = $('#txtFecConstit').val();
var cmbMonedaNormalizadajq = $('#cmbMonedaNormalizada ').val();
var cmbMonedasAccionesjq = $('#cmbMonedasAcciones').val();
var txtValorContableAccionesjq = $('#txtValorContableAcciones').val();
var txtFecValAccionesjq= $('#txtFecValAcciones').val();
var txtDomiciliojq = $('#txtDomicilio').val();
var txtSitioWebFinaljq = $('#txtSitioWebFinal').val();
var txtTelefonojq= $('#txtTelefono').val();
var txtNumTeleFaxjq= $('#txtNumTeleFax').val();
var cmbPaisjq= $('#cmbPais').val();
var cmbResidenciasjq = $('#cmbResidencias').val();
var cmbNacionalidadesjq = $('#cmbNacionalidades').val();
var txtObjetivojq = $('#txtObjetivo').val();
var txtObservacionesjq = $('#txtObservaciones').val();
$.blockUI({ message: '<h1>Un momento por favor..</h1>' });
$.ajax({
type: "GET",
url: '../CatFiliales/InsertItem',
data: {
txtClaveFilial : txtClaveFilialjq ,
txtDescripcionBreve : txtDescripcionBrevejq ,
txtDescripcion : txtDescripcionjq,
txtIdFiscal : txtIdFiscaljq ,
txtNodoFilial : txtNodoFilialjq ,
cmbEstado : cmbEstadojq ,
cmbParticipacionAccionaria : cmbParticipacionAccionariajq ,
cmbCveEdoOper : cmbCveEdoOperjq ,
cmbGiroFilial : cmbGiroFilialjq ,
cmbGrupoFiliales : cmbGrupoFilialesjq ,
cmbParaestatal : cmbParaestataljq ,
cmbTipoEmpresa : cmbTipoEmpresajq ,
cmbEstadoLegal : cmbEstadoLegaljq ,
txtFecConstit : txtFecConstitjq ,
cmbMonedaNormalizada : cmbMonedaNormalizadajq,
cmbMonedasAcciones : cmbMonedasAccionesjq ,
txtValorContableAcciones : txtValorContableAccionesjq ,
txtFecValAcciones : txtFecValAccionesjq ,
txtDomicilio : txtDomiciliojq ,
txtSitioWebFinal : txtSitioWebFinaljq,
txtTelefono : txtTelefonojq,
txtNumTeleFax : txtNumTeleFaxjq ,
cmbPais : cmbPaisjq ,
cmbResidencias :cmbResidenciasjq,
cmbNacionalidades :cmbNacionalidadesjq ,
txtObjetivo: txtObjetivojq,
txtObservaciones: txtObservacionesjq
},
error: function (xhr, ajaxOptionx, thrownError) {
swal('error', xhr.status + ' ' + thrownError, 'error');
$.unblockUI();
}
})
.done(function (htmlPartialView) {
swal('', 'Registro Insertado', 'success');
renderPartialView(htmlPartialView);
});
这是我的控制器代码
public ActionResult InsertItem(
string txtClaveFilial,
string txtDescripcionBreve ,
string txtDescripcion ,
string txtIdFiscal ,
string txtNodoFilial ,
string cmbEstado ,
string cmbParticipacionAccionaria ,
string cmbCveEdoOper ,
string cmbGiroFilial ,
string cmbGrupoFiliales ,
string cmbParaestatal ,
string cmbTipoEmpresa ,
string cmbEstadoLegal,
string txtFecConstit ,
string cmbMonedaNormalizada ,
string cmbMonedasAcciones ,
string txtValorContableAcciones ,
string txtFecValAcciones ,
string txtDomicilio ,
string txtSitioWebFinal ,
string txtTelefono ,
string txtNumTeleFax ,
string cmbPais ,
string cmbResidencias ,
string cmbNacionalidades ,
string txtObjetivo ,
string txtObservaciones
)
{
//Do all the stuff with variables;
return PartialView("_Registers", catFilialesViewModel.Filiales);
}
我认为错误是因为有时候并没有将所有参数发送到方法。但是,即使我设置了所有参数,为什么也不起作用?
非常感谢
答案 0 :(得分:0)
经过一番研究,我尝试了几个参数的控制器动作。 发现最后两个文本很多的地方。可能会发生某些字符使发送的值不同。
AS Hackerman说,更好的是发帖而不是GET ..我尝试过并且工作正常。
非常感谢