如何在 vb.net 中捕获 javascript 函数的 return 值?

How to capture a return value of a javascript function inside vb.net?

我创建了一个名为 test 的函数,它 returns 在一个单独的 js 文件中是一个布尔值,我可以在内部调用这个函数,在 vb.net 文件中这样调用 aspx.vb 文件:

ScriptManager.RegisterStartupScript(我,Page.GetType,“脚本”,“测试();”,真)

我的问题是如何捕获此返回值并将其分配给 vb.net 中的变量,以便我可以在 vb 条件语句中使用它?

实际上你并没有调用函数。 RegisterStartupScript 所做的是它“告诉”浏览器它应该 运行 test() 功能一旦准备就绪。

话虽如此,您无法从 test() 函数中获取 return 值,因为当它被调用时,您的 aspx vb 代码已经被执行。获取有关 aspx 页面生命周期的更多信息,look here

通常编写依赖于客户端代码 (js) 结果的服务器端代码 (aspx) 不是一个好主意,但是您可以做的是让 test() js 函数执行一个ajax 在 aspx 页面中请求并从那里“继续”。 Here is a small example。问题是这种方法不适合也不推荐用于我怀疑您正在尝试做的事情。根据test()js函数的输出,将不同的网页部分呈现给用户。

我无法为我的建议提供示例代码,因为这将是一个错误的用例。我回答这个只是为了强调你实际上不能做你要求的事情,即使有办法做到这一点,你也绝对应该避免它。但是,这是深入研究 Web 应用程序设计和实现的好机会。

也许an SPA能满足您的需求?