从asp.net核心控制器返回JavaScript

从asp.net核心控制器返回JavaScript

问题描述:

我知道有很多关于此的帖子,但是我无法获得任何建议,例如...

I know there have been a lot of posts about this, but I cannot get any of the suggestions like...

Return Content("<script>alert('Hello world!');</script>")

...上班

我们将要从MVC转移到核心-这在MVC中起作用并显示了引导程序模式,但是我已经在核心中删除了对该方法的支持.

We are just about to move from MVC to core - this worked in MVC and displayed a bootstrap modal, but I gather support for this method has been dropped in core.

这就是启动模式"PopupModal"的原因

This is what launches the modal 'PopupModal'

 Public Function ModalValidation(Message As String) As String
    Try
        Dim SB As New StringBuilder
        SB.Append("$(document).ready(function(){")
        SB.Append("$('#PopupModal').modal();")
        SB.Append("var vBody = document.getElementById('ModalBodyText');")
        SB.Append("vBody.innerHTML = '" & Message & "';")
        SB.Append("var vTitle = document.getElementById('ModalTitle');")
        SB.Append("vTitle.innerHTML = 'Validation';")
        SB.Append("vTitle.style.color = 'orange';")
        SB.Append("});")
        Return SB.ToString
    Catch ex As Exception
        EmailError(ex, 170, "Functions")
        Return Nothing
    End Try
End Function

并在控制器上

 Private Function Modal(ModalScript As String) As JavaScriptResult
        Return JavaScript(ModalScript)
    End Function

这样叫

Return Modal(ModalValidation("Got here"))

看起来我可以像这样重新创建JavaScriptResult

It looks like I can recreate JavaScriptResult like this

Public Class JSResult
        Inherits ContentResult
        Public Sub New(ByVal script As String)
            Me.Content = script
            Me.ContentType = "application/javascript"
        End Sub
    End Class

但是我该用什么代替

Return JavaScript(ModalScript)

谢谢

弄清楚了

 Private Function Modal(ModalScript As String) As JSResult
        Return New JSResult(ModalScript)
    End Function