【问题标题】:how to enable control on form based on user action on user control without requiring post back如何在不需要回发的情况下根据用户对用户控件的操作启用对表单的控制
【发布时间】:2014-07-14 19:55:39
【问题描述】:

我的网页有一个用户控件和一个保存按钮。用户控件有几个单选按钮、组合框、文本框等。网页上的保存按钮仅应在用户更改单选按钮、组合框或文本框中的值的选项时启用。理想情况下,我想从 javascript 启用此保存按钮(无需回发),但不确定如何执行此操作,因为所有可以更改的控件都在用户控件上(而不是在页面本身上)。关于如何实现这一点的任何想法/建议?

【问题讨论】:

    标签: javascript asp.net webforms


    【解决方案1】:

    如果您在用户控件中编写 java 脚本并尝试获取网页中的保存按钮,那么您将在运行时获得按钮控制,因为您的用户控件是运行时网页的一部分。

    所以,在单选按钮/组合框更改事件上调用一个 java 脚本并根据要求启用/禁用您的按钮。

    如果您有任何问题,请告诉我。

    用户控制代码:

    <script type="text/javascript">
        function test() {
                document.getElementById("btnSave").disabled = true;
        }
    

    在单选按钮 onclick 事件上调用上述测试函数

    网页(父页面)

    <asp:Button ID="btnSave" Text="save" runat="server" />
    

    另外,在此处添加您的用户控件...

    【讨论】:

    • 问题甚至会在用户控制 java 脚本上触发。客户端的父页面如何知道这一点?
    • 您在父网页上添加用户控件对吗?那么当它运行时..它只会将其视为一个网页,因此即使您在用户控件中编写 javascript 并尝试获取作为父页面的按钮,那么您的 java 脚本也将起作用。
    • 这将需要回发并在服务器端进行处理。这个问题的重点是在客户端处理它而不需要回发
    • 这里我正在编写一些代码供您参考 Javascript in user control function test() { document.getElementById("btnSave").disabled = true;您所有的
    • 您可以在答案中包含代码吗?从 cmets 读取代码非常困难。
    猜你喜欢
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 2022-01-24
    • 2015-03-18
    • 1970-01-01
    相关资源
    最近更新 更多