【发布时间】:2017-03-15 04:26:30
【问题描述】:
我的 CRUD 有问题,表中有一个以上的键。我解决了创建、更新和详细信息中的问题,但在删除中我不能。我可以打开删除页面,但在Controller.DeleteConfirmed() 中我无法传递 2 个键。
这里是view的代码(delete.cshtml):
@model Teste_db.Models.Vdcped
@{
ViewData["Title"] = "Delete";
}
<h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3>
<div>
<h4>Vdcped</h4>
<hr />
<dl class="dl-horizontal">
<input type="hidden" asp-for="PedEmpCod" />
<input type="hidden" asp-for="PedNum" />
<dt>
@Html.DisplayNameFor(model => model.PedSituacao)
</dt>
<dd>
@Html.DisplayFor(model => model.PedSituacao)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedCliCgc)
</dt>
<dd>
@Html.DisplayFor(model => model.PedCliCgc)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedArcCod)
</dt>
<dd>
@Html.DisplayFor(model => model.PedArcCod)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVenCod)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVenCod)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedComiss2)
</dt>
<dd>
@Html.DisplayFor(model => model.PedComiss2)
</dd>
@Html.DisplayNameFor(model => model.PedDtemi)
</dt>
<dd>
@Html.DisplayFor(model => model.PedDtemi)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedDtultentrega)
</dt>
<dd>
@Html.DisplayFor(model => model.PedDtultentrega)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedDtpgto)
</dt>
<dd>
@Html.DisplayFor(model => model.PedDtpgto)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedCpgCod)
</dt>
<dd>
@Html.DisplayFor(model => model.PedCpgCod)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedTipo)
</dt>
<dd>
@Html.DisplayFor(model => model.PedTipo)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlmerc)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlmerc)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlacresc)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlacresc)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVldesc)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVldesc)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlavista)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlavista)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVltot)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVltot)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlicmretido)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlicmretido)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedDesconto)
</dt>
<dd>
@Html.DisplayFor(model => model.PedDesconto)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlfrete)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlfrete)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedNrpedcli)
</dt>
<dd>
@Html.DisplayFor(model => model.PedNrpedcli)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedAcresc)
</dt>
<dd>
@Html.DisplayFor(model => model.PedAcresc)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedNfsimpfat)
</dt>
<dd>
@Html.DisplayFor(model => model.PedNfsimpfat)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedSimplesfat)
</dt>
<dd>
@Html.DisplayFor(model => model.PedSimplesfat)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedNfrem)
</dt>
<dd>
@Html.DisplayFor(model => model.PedNfrem)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlicmsubst)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlicmsubst)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedQtdparc)
</dt>
<dd>
@Html.DisplayFor(model => model.PedQtdparc)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlparcini)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlparcini)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlparcela)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlparcela)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVldesc2)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVldesc2)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedIndfrete)
</dt>
<dd>
@Html.DisplayFor(model => model.PedIndfrete)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedPrazo)
</dt>
<dd>
@Html.DisplayFor(model => model.PedPrazo)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedTpgCod)
</dt>
<dd>
@Html.DisplayFor(model => model.PedTpgCod)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedLocal)
</dt>
<dd>
@Html.DisplayFor(model => model.PedLocal)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedPedtroca)
</dt>
<dd>
@Html.DisplayFor(model => model.PedPedtroca)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlbaseicms)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlbaseicms)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlicms)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlicms)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedPorCod)
</dt>
<dd>
@Html.DisplayFor(model => model.PedPorCod)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedStpCod)
</dt>
<dd>
@Html.DisplayFor(model => model.PedStpCod)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedRotCod)
</dt>
<dd>
@Html.DisplayFor(model => model.PedRotCod)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedOcgNum)
</dt>
<dd>
@Html.DisplayFor(model => model.PedOcgNum)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlbasesubst)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlbasesubst)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedPesoliq1)
</dt>
<dd>
@Html.DisplayFor(model => model.PedPesoliq1)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedPesoliq2)
</dt>
<dd>
@Html.DisplayFor(model => model.PedPesoliq2)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedMotCod)
</dt>
<dd>
@Html.DisplayFor(model => model.PedMotCod)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedDtpreentrega)
</dt>
<dd>
@Html.DisplayFor(model => model.PedDtpreentrega)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedCliCod)
</dt>
<dd>
@Html.DisplayFor(model => model.PedCliCod)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlpago)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlpago)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedDtimport)
</dt>
<dd>
@Html.DisplayFor(model => model.PedDtimport)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedStimport)
</dt>
<dd>
@Html.DisplayFor(model => model.PedStimport)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedHoraini)
</dt>
<dd>
@Html.DisplayFor(model => model.PedHoraini)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedHorafin)
</dt>
<dd>
@Html.DisplayFor(model => model.PedHorafin)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedDtvis)
</dt>
<dd>
@Html.DisplayFor(model => model.PedDtvis)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedObsvis)
</dt>
<dd>
@Html.DisplayFor(model => model.PedObsvis)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedNfiSerie)
</dt>
<dd>
@Html.DisplayFor(model => model.PedNfiSerie)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedTnfCod)
</dt>
<dd>
@Html.DisplayFor(model => model.PedTnfCod)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PedVlipi)
</dt>
<dd>
@Html.DisplayFor(model => model.PedVlipi)
</dd>
</dd>
</dl>
<form asp-action="Delete">
<div class="form-actions no-color">
<input type="submit" value="Delete" class="btn btn-default" /> |
<a asp-action="Index">Back to List</a>
</div>
</form>
</div>
VdcpedController 的代码。 在 delete 中,id 和 ped 正常,但在 DeleteConfirmed 中,id 正常,ped 为空。
public async Task<IActionResult> Delete(string id, Int32 ped)
{
if (id == null)
{
return NotFound();
}
var vdcped = await _context.Vdcped
.SingleOrDefaultAsync(m => m.PedEmpCod == id && m.PedNum == ped);
if (vdcped == null)
{
return NotFound();
}
return View(vdcped);
}
// POST: Vdcped/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(string id, Int32 ped)
{
var vdcped = await _context.Vdcped.SingleOrDefaultAsync(m => m.PedEmpCod == m.PedEmpCod && m.PedNum == ped);
_context.Remove(vdcped);
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
【问题讨论】:
-
需要更多信息 - 您的视图是否包含以 ped 为名称的对应字段?还是查询字符串有这样的键值组合?我要问的是,这个方法是怎么调用的?
-
我有意见。视图为删除。从索引视图开始,我在列表中选择删除,去查看确认删除。在此视图中,当我单击此按钮时,有一个按钮 DELETE,出现错误。在调试中,我看到变量 ped 为空,但变量 ID 正常
-
为单击删除按钮的页面添加代码 - 很难弄清楚您提供的内容有什么问题。
标签: asp.net-mvc model-view-controller