无法从后端访问脚本设置的 html 值

Posted

技术标签:

【中文标题】无法从后端访问脚本设置的 html 值【英文标题】:Cannot access html value set by script from backend 【发布时间】:2022-01-01 06:43:34 【问题描述】:

我有一个带有 runat="server" 和 id 的 html 输入标签。一个 jquery 函数(滑块)设置输入字段的值。但是,我无法访问服务器端输入控件的值。 如何获取输入控件的值?

jquery 滑块函数 sn-p:

    var num = $('#body_num1')
    $('#slider').slider(
     min:0,
     max:100, 
     slide: function(event, ui)
        num.val(ui.values[0]);
     
    );

asp.net 代码:

    <input type="text" id="num1" readonly runat="server"/>

当按钮 doSomething 被点击时(它应该访问 num1 的值):

    Protected Sub btn_doSomething_ServerClick(sender As Object, e As EventArgs)
      Dim num1_input As String = num1.Value
      System.Diagnostics.Debug.Writeline(num1_input)
    End Sub

我得到 JIT 编译器遇到内部限制错误。

【问题讨论】:

嗨,你可以编辑你的帖子添加一些代码吗?您可以添加生成的 html(来自浏览器)吗? 换句话说,请提供minimal reproducible example。 嗨,我相应地修改了帖子。谢谢 这是使用 WebForms 吗?如果是这样,我建议添加一个&lt;asp:HiddenField&gt;,并在设置num.val 的同时设置它的值。它已经被“连接”以使值在 VB.NET 代码中可用。 您好,感谢您的解决方案。我相应地调整了代码,它工作正常。 【参考方案1】:

试试这个:

        <div id="MyTestSlider" style="width:30%">
        </div>

        <asp:HiddenField ID="MySlideValue" runat="server" ClientIDMode="Static"/>
        <asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Static"></asp:TextBox>
                    
        <asp:Button ID="Button1" runat="server" Text="Button" />

        
        <script>

            $('#MyTestSlider').slider(
                min: 0,
                max: 100,
                step: 5,
                slide: function (e) 
                    slideValue = $('#MyTestSlider').slider("value")
                    $('#TextBox1').val(slideValue)
                    $('#MySlideValue').val(slideValue)

                
                );

        </script>

因此后面的代码是这样的:

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Debug.Print("Slider value = " & MySlideValue.Value)
    Debug.Print("Slider value in text box = " & TextBox1.Text)


End Sub

所以我有一个隐藏字段和一个文本框。你当然不需要两者。

【讨论】:

以上是关于无法从后端访问脚本设置的 html 值的主要内容,如果未能解决你的问题,请参考以下文章

Firebase Firestore:无法访问Firestore后端(仅限Android)

从后端连接到外部数据库

从 JSON 访问 DTO 中的 Map<K, V> 值?

从后端角度看安全

如何在android中全局设置值[重复]

PyUSB 后端无法访问