gpt4 book ai didi

javascript - 从 vb.net 代码后面运行 JavaScript

转载 作者:行者123 更新时间:2023-12-03 11:34:15 26 4
gpt4 key购买 nike

我正在尝试从事件处理程序运行一些 JavaScript。这是我的代码:

Protected Sub RecordBottomGridRow(ByVal sender As Object, ByVal e As EventArgs) Handles GridView_Body.PageIndexChanging
Dim scriptText As New StringBuilder()
scriptText.Append("<script type=""text/javascript"">")
scriptText.Append(Environment.NewLine)
scriptText.Append("function RecordBottomGridRow() {")
scriptText.Append(Environment.NewLine)
scriptText.Append("var elements = document.getElementsByClassName('exp');")
scriptText.Append(Environment.NewLine)
scriptText.Append("var expIndex;")
scriptText.Append(Environment.NewLine)
scriptText.Append("for (var i = 0, im = elements.length; im > i; i++) {")
scriptText.Append(Environment.NewLine)
scriptText.Append("var elementId = elements[i].id;")
scriptText.Append(Environment.NewLine)
scriptText.Append("expIndex = elementId.substring(3);")
scriptText.Append(Environment.NewLine)
scriptText.Append("}")
scriptText.Append(Environment.NewLine)
scriptText.Append("var fundCode = document.getElementById('htmlFund' + expIndex);")
scriptText.Append(Environment.NewLine)
scriptText.Append("var e = document.getElementById('exp' + expIndex);")
scriptText.Append(Environment.NewLine)
scriptText.Append("document.getElementById('lastFundChosen') = fundcode.value;")
scriptText.Append(Environment.NewLine)
scriptText.Append("document.getElementById('expOrColl').value = e.value;")
scriptText.Append(Environment.NewLine)
scriptText.Append("alert(e.value);")
scriptText.Append(Environment.NewLine)
scriptText.Append("} </script>")

ScriptManager.RegisterStartupScript(Me, Me.GetType(), "RecordBottomGridRow", scriptText.ToString(), False)
End Sub

请注意末尾的“警报”。我运行代码并且事件触发,但没有弹出警告窗口,表明 JavaScript 代码未运行。我做错了什么?

最佳答案

您的代码只是声明函数,本质上它只是添加到您的页面输出:

function RecordBottomGridRow() {
.....
}

您需要添加实际按名称调用此函数的客户端代码:

RecordBottomGridRow();

所以在你的情况下你可以只替换行

scriptText.Append("} </script>")

with(遵循您的格式):

scriptText.Append("}")
scriptText.Append(Environment.NewLine)
scriptText.Append("RecordBottomGridRow(); </script>")

此代码块以“}”完成函数声明,然后添加对函数的调用以在客户端实际执行它。

关于javascript - 从 vb.net 代码后面运行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26593549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com