禁用后重新启用ASP.NET LinkBut​​ton的正确方法是什么?

时间:2016-07-08 18:12:26

标签: javascript jquery asp.net webforms linkbutton

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

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

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

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

然而,这不起作用。我查看了生成的标记,似乎LinkButton在设置为href时删除了disabled属性。简单地删除disabled属性不起作用。我还尝试添加enabled这样的属性:

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

然而,这也不起作用。

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

2 个答案:

答案 0 :(得分:2)

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

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

像这样的东西

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

希望它有所帮助。

答案 1 :(得分:1)

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

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

请注意,HTML属性在页​​面加载时设置如下:

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