Y a-t-il un problème avec ce code HTML? Je veux avoir un lien dans la page principale pour accéder à la vue "CreateParts". J'ai l'action 'CreateParts' qui a un paramètre parentPartId dans le contrôleur 'PartList'.
<li id="taskAdminPartCreate" runat="server">
<%= Html.ActionLink("Create New Part", "CreateParts", "PartList", new { parentPartId = 0 })%></li>
Mon action de contrôleur est comme
public ActionResult CreateParts(int parentPartId)
{
HSPartList objHSPart = new HSPartList();
objHSPart.Id = parentPartId;
return View(objHSPart);
}
Lorsque je clique sur "Créer une nouvelle pièce" dans le menu de SiteMaster, j'obtiens une exception. S'il vous plaît, aidez-moi à sortir de cela.
Vous utilisez une surcharge incorrecte. Vous devez utiliser cette surcharge
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
Object routeValues,
Object htmlAttributes
)
Et le bon code serait
<%= Html.ActionLink("Create New Part", "CreateParts", "PartList", new { parentPartId = 0 }, null)%>
Notez ce paramètre supplémentaire à la fin. Pour les autres surcharges, visitez LinkExtensions.ActionLink Method . Comme vous pouvez le voir, il n'y a pas de string, string, string, object
surcharge que vous essayez d'utiliser.
Vous utilisez une surcharge incorrecte d'ActionLink. Essaye ça
<%= Html.ActionLink("Create New Part", "CreateParts", "PartList", new { parentPartId = 0 }, null)%>
Ajout à la réponse acceptée:
si vous allez utiliser
@Html.ActionLink("LinkName", "ActionName", "ControllerName", new { @id = idValue, @secondParam= = 2 },null)
cela créera un lien d'action où vous ne pourrez pas créer de nouvel attribut ou style personnalisé pour le lien.
Cependant, le 4ème paramètre de l'extension ActionLink résoudra ce problème. Utilisez le 4ème paramètre pour la personnalisation à votre façon.
@Html.ActionLink("LinkName", "ActionName", "ControllerName", new { @id = idValue, @secondParam= = 2 }, new { @class = "btn btn-info", @target = "_blank" })