【发布时间】:2014-06-17 13:36:20
【问题描述】:
在一个视图中我有这样的东西:
<ul data-role="listview" data-inset="true" data-theme="b" data-split-icon="delete">
@foreach (DataModel.Vulnerability.Fix item in Model.VulnerabilityFixes)
{
<li><a href="@Url.Action("Details", "Product", new { Title = item.Title })">
<h2>@item.Title</h2>
<table style="width: 100%">
<tr>
<th>Id</th>
<th>FixName</th>
<th>Vendor</th>
<th>Version</th>
</tr>
<tr>
<td>@MyHelper.decodeNull(item.Id)</td>
<td>@MyHelper.decodeNull(item.FixName)</td>
<td>@MyHelper.decodeNull(item.Vendor)</td>
<td>@MyHelper.decodeNull(item.Version)</td>
</tr>
</table>
</a>
<a href="@Url.Action("DeleteFix", "Editing", new { vulnId = Model.Id, fix = item })">Delete</a>
</li>
}
</ul>
如您所见,它显示了一个表格,该表格有一个删除按钮,单击该按钮调用 EditingController 类上的 DeleteFix() 方法,该方法采用 2 个参数即:
vulnId = Model.Id 是 long
当前项目是 DataModel.Vulnerability.Fix 对象。
所以这是我的 DeleteFix() 代码定义到我的 EditingController 类中:
public ActionResult DeleteFix(long vulnId = 0, DataModel.Vulnerability.Fix currentFix)
{
DataModel.Vulnerability.Fix model = new DataModel.Vulnerability.Fix();
manager.openConnection();
try
{
model = currentFix;
}
finally
{
manager.closeConnection();
}
return View(model);
}
问题是在引用第二个输入参数(DataModel.Vulnerability.Fix 对象)的此方法的签名上给我以下错误。它对我说:
错误14 可选参数必须出现在所有必填项之后 参数 C:\Develop\EarlyWarning\public\Implementazione\Ver2\WebPortal\WebPortal\Controllers\EditingController.cs 27 94 WebPortal
为什么?我错过了什么?如何将之前的 DataModel.Vulnerability.Fix 项目对象从我的视图传递到我的 DeleteFix() 控制器方法?
【问题讨论】:
-
仅供参考-如果您逐字搜索该错误消息,您将直接从文档(以及各种博客/等)中获得此问题的答案。
标签: c# jquery asp.net .net asp.net-mvc