Saját HTML Helper MVC-ben
2014-01-02T22:09:30+01:00
2014-01-11T11:00:03+01:00
2022-08-17T18:20:32+02:00
SZLMCL
Sziasztok!

Próbálok csinálni egy külső DLL fájlt VB.NET-ben az ASPNET MVC 4-hez (Razor), ami HTML helpereket tartalmaz. Ezeket majd később úgy szeretném használni, hogy a DLL fájlt becsatolom a projektekbe, ezután pedig elérhetőek lesznek a helperek a projekten belül.

Csináltam egy Class Libraryt és felvettem az MVC-s DLL-eket, a kód így néz ki:

Imports System.Web.Mvc Imports System.Runtime.CompilerServices Namespace MvcWebsiteFramework.HtmlHelpers Public Module Bing <Extension> _ Public Function BingSiteVerificationMetaTag(helper As HtmlHelper, key As String) As MvcHtmlString Dim html = String.Format("<meta name=""msvalidate.01"" content=""{0}"" />", key) Return MvcHtmlString.Create(html) End Function End Module End Namespace

Ezt lefordítom, majd nyitok egy új MVC proketet és becsatolom az előbb lefordított DLL-t. Kérdésem az lenne, hogy hogyan tudom elővarázsolni a függvényt egy MVC nézetben (View)? Hiába importálom be a névteret, zölddel aláhúzza, mintha nem látná. Próbáltam úgy is, hogy kézzel beírom a névteret a web.config -ba, de úgy sem sikerült.

Ha megnézem az object browsert, akkor látom a függvényemet, de sehogysem tudom elővarázsolni az MVC nézetben.

Hogyan tudom megcsinálni azt, hogy az Intellisense is észrevegye az új függvényeimet?

Köszi előre is a választ!
Mutasd a teljes hozzászólást!
2 hiba van:

1. A helper osztályod névtere UL.Extensions, de az index.vbhtml elején UL.UL.Extensions van a @Imports direktívában.
2. a helper osztálynak public-nak kell lenni, hogy az extension methodok láthatók legyenek.

Ezt a 2 dolgot javítva már látszott nálam az extension method. ( @Html.FileUploadFor )
Mutasd a teljes hozzászólást!

abcd