類似のトピックはすべて解決されていますが、似たようなミスは私と同じです。パラメータ 'id'のヌルエントリ
モデル:
public class CountriesViewModel
{
public int BuffId { get; set; }
public string CountryId { get; set; }
public string Name { get; set; }
}
ビュー:
@model List<BTGHRM.Models.CountriesViewModel>
@{
WebGrid grid = new WebGrid(Model, canSort: false, rowsPerPage: 15);
int row = 0;
}
@if (Model.Any())
{
@grid.GetHtml(
tableStyle: "table",
headerStyle: "table_HeaderStyle",
footerStyle: "table_PagerStyle",
rowStyle: "table_RowStyle",
alternatingRowStyle: "table_AlternatingRowStyle",
selectedRowStyle: "table_SelectedRowStyle",
columns: grid.Columns(
grid.Column("Name", @Resources.Localization.country, format: @<text>
<span class="display-mode"><label id="NameLabel">@item.Name</label></span>
@Html.TextBox("Model[" + (++row - 1).ToString() + "].Name", (object)item.Name, new { @class = "edit-mode" })
</text>, style: "p40"),
grid.Column("", "", format: @<text>
@Html.Hidden("Model[" + (row - 1).ToString() + "].BuffId", (object)item.BuffId, new { @class = "edit-mode" })
</text>, style: "p13"),
grid.Column("", "", format: @<text>
<a href="DeleteCountryRecord/@item.BuffId" id="@item.BuffId" class="link_button delete-button display-mode">@Resources.Localization.delete</a>
</text>)
)
)
}
はアクションメソッドにそのID(buffId)を送信することによって、行を削除したいI`d:
public ActionResult DeleteCountryRecord(int BuffId)
{
using (var db = new HRMEntities())
{
Country RemovableLine = db.Countries.Find(BuffId);
try
{
db.Countries.Remove(RemovableLine);
}
catch
{
TempData["Message"] = App_GlobalResources.Localization.error;
}
db.SaveChanges();
}
return RedirectToAction("CountryCodes");
}
私はすべてを取得しますIDは右ですが、私は間違いがあります
パラメータ辞書に、 'BTGHRM.Controllers.AdministrationController'の 'System.Web.Mvc.ActionResult DeleteCountryRecord(Int32)'メソッドのnullable型 'System.Int32'のパラメータ 'BuffId'のnullエントリが含まれています。オプションのパラメータは、参照型、null可能型、またはオプションのパラメータとして宣言する必要があります。 パラメータ名:パラメータ
でも見ることができ、ボタンのクリックでgeneredされたリンクで、そのIDを右に掲載されます。
http://localhost:59763/Administration/DeleteCountryRecord/17
私の問題である可能性がありますどのような?