【问题标题】:What is the correct way to re-enable an ASP.NET LinkButton after disabling it?禁用 ASP.NET LinkBut​​ton 后重新启用它的正确方法是什么?
【发布时间】:2016-07-08 18:12:26
【问题描述】:

我已经搜索了两天以找到解决此问题的方法,但似乎找不到任何适合我的方法。我有一个 LinkButton 在页面加载时被禁用。我正在禁用这样的按钮:

$("#BtnSubmit").prop("disabled", true);
$("#BtnSubmit").removeAttr("enabled");

当用户填写所有必填字段时,我正在尝试重新启用LinkButton,如下所示:

 $("#BtnSubmit").removeAttr("disabled");

但是,这不起作用。我查看了生成的标记,似乎LinkButton 在设置为disabled 时删除了其href 属性。简单地删除 disabled 属性是行不通的。我也试过像这样添加enabled 属性:

$("#BtnSubmit").attr("enabled", "true");

但是,这也不起作用。

我错过了什么?从设计的角度来看,该按钮显然正在重新启用。它从它的disabled 外观到它的enabled 外观很好,但它没有恢复它的href 属性。我试过手动添加href,但这也不起作用。我发现的大多数解决方案都只涉及如何禁用按钮;他们似乎都没有提到任何关于重新启用它的事情。有什么建议吗?

【问题讨论】:

标签: javascript jquery asp.net webforms linkbutton


【解决方案1】:

如果您能在帖子中向我们提供您的 ASPX 标记及其代码,那就太好了。有很多方法可以禁用/启用按钮。您是通过服务器端还是客户端完成的?我的预感是您可能将 LinkBut​​ton 上的Enabled 属性设置为False,这就解释了为什么href 属性也消失了。

您可以考虑的一种方法是您可以在Page_Load 事件中注册您的客户端javascript 代码,当页面重新加载时,代码将被执行。

类似的东西

var script = "$('#BtnSubmit').prop('disabled', true);";
ScriptManager.RegisterStartupScript(Page, GetType(), "mykey", "script", true);

希望对你有帮助。

【讨论】:

    【解决方案2】:

    不久前我也遇到了类似的问题。这对我有用:

        $("#BtnSubmit").prop("disabled", true);
        $("#BtnSubmit").prop("disabled", false);
    

    请注意,HTML 属性在页面加载时是这样设置的:

    <input type="submit" id="BtnSubmit" disabled="disabled"/>
    

    【讨论】:

    • 我试过这个,但不幸的是,它没有用。我遇到了和以前一样的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 2014-04-17
    • 2011-08-27
    • 1970-01-01
    相关资源
    最近更新 更多