【问题标题】:Returning JavaScript from asp.NET core controller从 asp.NET 核心控制器返回 JavaScript
【发布时间】:2017-07-29 18:46:57
【问题描述】:

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

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

...上班

我们即将从 MVC 转移到核心 - 这在 MVC 中工作并显示了引导模式,但我收集到对这种方法的支持已在核心中删除。

这就是启动模式“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

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)

谢谢

【问题讨论】:

  • 不是最佳实践朋友

标签: javascript asp.net-core


【解决方案1】:
public ActionResult Welcome(){
  return Content("You are welcomed");
}

通过ajax调用该函数并处理响应。

【讨论】:

  • 由于某种原因,返回内容没有做任何事情(见问题的第一部分)
【解决方案2】:

想通了

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    相关资源
    最近更新 更多