このhtmlに問題はありますか?マスターページに「CreateParts」ビューに移動するためのリンクが必要です。コントローラー「PartList」にパラメーターparentPartIdを持つアクション「CreateParts」があります。
<li id="taskAdminPartCreate" runat="server">
<%= Html.ActionLink("Create New Part", "CreateParts", "PartList", new { parentPartId = 0 })%></li>
私のコントローラーのアクションは
public ActionResult CreateParts(int parentPartId)
{
HSPartList objHSPart = new HSPartList();
objHSPart.Id = parentPartId;
return View(objHSPart);
}
SiteMasterのメニューで[新規パーツの作成]をクリックすると、例外が発生します。これから私を助けてください。
間違ったオーバーロードを使用しています。このオーバーロードを使用する必要があります
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
Object routeValues,
Object htmlAttributes
)
そして、正しいコードは
<%= Html.ActionLink("Create New Part", "CreateParts", "PartList", new { parentPartId = 0 }, null)%>
最後に追加のパラメーターがあることに注意してください。他のオーバーロードについては、 LinkExtensions.ActionLink Method にアクセスしてください。ご覧のとおり、使用しようとしているstring, string, string, object
オーバーロードはありません。
ActionLinkの誤ったオーバーロードを使用しています。これを試して
<%= Html.ActionLink("Create New Part", "CreateParts", "PartList", new { parentPartId = 0 }, null)%>
受け入れられた答えへの追加:
使用する場合
@Html.ActionLink("LinkName", "ActionName", "ControllerName", new { @id = idValue, @secondParam= = 2 },null)
これにより、リンクの新しいカスタム属性またはスタイルを作成できないアクションリンクが作成されます。
ただし、ActionLink拡張機能の4番目のパラメーターはその問題を解決します。 4番目のパラメーターを使用してカスタマイズします。
@Html.ActionLink("LinkName", "ActionName", "ControllerName", new { @id = idValue, @secondParam= = 2 }, new { @class = "btn btn-info", @target = "_blank" })