【问题标题】:Returning a value from a javascript input prompt box to C# [closed]将值从 javascript 输入提示框中返回到 C# [关闭]
【发布时间】:2021-06-10 20:44:54
【问题描述】:

我正在开发一个 Blazor 服务器项目,并且在我的组件中有这个按钮

    <button type="button" class="btn btn-primary" @onclick="@GetUserInput">Add Name</button>    

这是点击事件正在调用的代码

    protected async void GetUserInput()
            {
                var result = await JsRuntime.InvokeAsync<string>("getName");
            }

    function getName() {
        var retVal = prompt("Enter Name : ", "name here");
        return retval;
    }

在 javascript 函数中,retVal 有一个值,但在 GetUserInput 方法中, 代码崩溃并显示以下错误消息

    ReferenceError: retval is not defined
        at getActivityName (https://localhost:44318/script.js:15:11)
        at https://localhost:44318/_framework/blazor.server.js:1:70045
        at new Promise (<anonymous>)
        at e.beginInvokeJSFromDotNet (https://localhost:44318/_framework/blazor.server.js:1:70011)
        at https://localhost:44318/_framework/blazor.server.js:1:26293
        at Array.forEach (<anonymous>)
        at e.invokeClientMethod (https://localhost:44318/_framework/blazor.server.js:1:26263)
        at e.processIncomingData (https://localhost:44318/_framework/blazor.server.js:1:24201)
        at e.connection.onreceive (https://localhost:44318/_framework/blazor.server.js:1:17286)
        at WebSocket.i.onmessage (https://localhost:44318/_framework/blazor.server.js:1:46503)'

我不知道发生了什么?有什么想法吗?

【问题讨论】:

    标签: javascript c# blazor-server-side


    【解决方案1】:

    Javascript 区分大小写。 retVal,而不是 retval - JS 不会抱怨“retval” - 它只是未定义。

    function getName() {
            var retVal = prompt("Enter Name : ", "name here");
            return retVal;
        }
    

    【讨论】:

    • 哇.. 我不敢相信我没听懂。谢谢。现在工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多