HTML.ActionLink vs Url.Action ASP.NET Razor lietojumprogrammā
Vai ir kāda atšķirība starp HTML.ActionLink
un Url.Action
, vai tie ir tikai divi veidi, kā darīt vienu un to pašu?
Kad man vajadzētu dot priekšroku vienam, nevis otram?
286
3
Jā, ir atšķirība.
Html.ActionLink
ģenerē<a href=".."></a>
birku, betUrl.Action
atgriež tikai url.Piemēram:
ģenerē:
un
Url.Action("someaction", "somecontroller", new { id = "123" })
rada:Ir arī Html.Action, kas izpilda pakārtoto kontroliera darbību.
Html.ActionLink
automātiski ģenerē<a href=".."></a>
tagu.Url.Action
ģenerē tikai url.Piemēram:
ģenerē:
un
ģenerē:
Labākais plus punkts, kas man patīk, ir
Url.Action(...)
izmantošana.Jūs pats izveidojat enkura tagu, kurā varat viegli iestatīt savu saistīto tekstu pat ar kādu citu html tagu.
Iepriekš minētajā piemērā redzams, ka, ja man ir īpaši nepieciešama poga, lai veiktu kādu darbību, man tas jādara ar @Url.Action, bet, ja es gribu tikai saiti, es izmantošu @Html.ActionLink. Lieta tāda, ka, ja ir jāizmanto kāds elements (HTML) ar darbību, tiek izmantots url.