首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过vb.net将Javascript发送到页面

通过vb.net将Javascript发送到页面
EN

Stack Overflow用户
提问于 2015-08-20 06:44:04
回答 1查看 140关注 0票数 0

我正在尝试发送一个javascript到页面的加载器后,一个按钮点击。

按钮也在网格视图中,所以我不确定如何做OnClientClick,但我认为我可以从vb.net后端做,所以我尝试这样做:

代码语言:javascript
复制
    If (e.CommandName = "View") Then
        Dim row2 As GridViewRow = CType(CType(e.CommandSource, Button).NamingContainer, GridViewRow)
        If (Not (row2) Is Nothing) Then

            Dim DateSaved As String = row2.Cells(0).Text


            Dim javaScript As New System.Text.StringBuilder()

            javaScript.Append("<script type=""text/javascript"">" + Constants.vbLf)
            javaScript.Append("function ShowProgress() {" + Constants.vbLf)
            javaScript.Append("window.onload = function()" + Constants.vbLf)
            javaScript.Append("setTimeout(function () {" + Constants.vbLf)
            javaScript.Append("var modal = $('<div />');" + Constants.vbLf)
            javaScript.Append("modal.addClass(""modal"");" + Constants.vbLf)
            javaScript.Append("$('body').append(modal);" + Constants.vbLf)
            javaScript.Append("var loading = $("".loading"");" + Constants.vbLf)
            javaScript.Append("loading.show();" + Constants.vbLf)
            javaScript.Append("var top = Math.max($(window).height() / 2 - loading[0].offsetHeight / 2, 0);" + Constants.vbLf)
            javaScript.Append("var left = Math.max($(window).width() / 2 - loading[0].offsetWidth / 2, 0);" + Constants.vbLf)
            javaScript.Append("loading.css({ top: top, left: left });" + Constants.vbLf)
            javaScript.Append("}, 200);" + Constants.vbLf)
            javaScript.Append("}" + Constants.vbLf)
            javaScript.Append("$('form').live(""submit"", function () {" + Constants.vbLf)
            javaScript.Append("ShowProgress();" + Constants.vbLf)
            javaScript.Append("});" + Constants.vbLf)
            javaScript.Append("</script>" + Constants.vbLf)
            Me.RegisterStartupScript("LoadScript", javaScript.ToString())
EN

回答 1

Stack Overflow用户

发布于 2015-08-20 07:41:35

  • 回发完成后,我不明白如何隐藏加载程序?
  • 既然您正在使用jQuery,为什么要使用window.onload而不是jQuery的document.ready()?
  • 将javascript写在字符串中是丑陋的,它是不可读的,并且您不能从语法突出显示、写入.js文件和使用javascript中受益

无论如何,您应该使用ASP.NET内置控件来完成此UpdateProgress

代码语言:javascript
复制
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
  <ProgressTemplate>
     Processing...
  </ProgressTemplate>
</asp:UpdateProgress>

只需确保您的网格视图是围绕在UpdatePanel周围的,并且UpdateProgress将在每次发生回发时显示它的模板。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32106827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档