【发布时间】:2016-03-22 16:41:15
【问题描述】:
如何在 VB.NET Razor 视图中调用扩展方法。它在 c# 中工作,但无法在 VB.NET 中运行。
注意:.NET 4.0 中的目标框架
代码如下:
@Imports ApplicationSupport.Models
@Html.RenderXml("XML String here", Server.MapPath("~/XSLT/Contents.xslt"))
然后扩展方法如下:
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Imports System.Web
Imports System.Web.Mvc
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Runtime.CompilerServices
Namespace ApplicationSupport.Models
Public Module HtmlHelperExtensions
<Extension()> _
Public Function RenderXml(helper As HtmlHelper, xml As String, xsltPath As String) As HtmlString
Dim args As New XsltArgumentList()
Dim t As New XslCompiledTransform()
t.Load(xsltPath)
Dim settings As New XmlReaderSettings()
settings.DtdProcessing = DtdProcessing.Parse
settings.ValidationType = ValidationType.DTD
Using reader As XmlReader = XmlReader.Create(New StringReader(xml), settings)
Dim writer As New StringWriter()
t.Transform(reader, args, writer)
Dim htmlString As New HtmlString(writer.ToString())
Return htmlString
End Using
End Function
End Module
End Namespace
我找不到任何有用的帮助。我希望有人能指出我正确的方向。
我是 c# 程序员,但这段代码在 VB.NET 中需要。
【问题讨论】:
标签: asp.net-mvc vb.net razorengine