1

我有启动和停止按钮,我用它来启动和停止服务器上的窗口服务。
当我单击启动按钮时,服务启动,但在该时间跨度内启动服务需要一些时间,这意味着启动服务。我必须禁用客户端的开始按钮,禁用停止按钮也是如此。

虽然按钮被禁用,但我使用了下面的代码 btnStart 禁用但 Windows 服务没有启动......

javascript

 function btnStartClick()
 {
 $("input[ID=btnStart]").attr("disabled", "disabled");
 }

C#

protected void btnStart_Click(object sender,EventArgs e)
{
//service starst code here
}

标记

 <asp:Button ID="btnStart" runat="server" Text="Start" OnClientClick="return btnStartClick();" OnClick="btnStart_Click" />
4

6 回答 6

0

你为什么不使用'#'..而不是属性选择器..这比你使用的更快更高效

$('#<%= btnStart.ClientID %>').attr("disabled", "disabled");
于 2013-01-11T14:00:24.207 回答
0
$('#<%= btnStart.ClientID %>').attr("disabled", "disabled");
于 2013-01-11T14:03:53.453 回答
0

如果我理解你的话。

您可以在此时将 ajax 请求发送到您有服务启动逻辑并禁用按钮的 asp 页面,然后检查您的 ajax 响应,如果您的服务启动则启用按钮,如果不显示消息或以任何其他方式处理它。

如果您只询问如何使用 jQuery 禁用按钮,请查看humpty dumptybipen答案。

于 2013-01-11T14:09:25.387 回答
0

你有几个选择:

$('#<%= btnStart.ClientID %>').prop("disabled", true);

使用 ASP.NET 选择 OR:

$("input[id$=btnStart]").prop("disabled", true);

btnStart当您的控件不在范围内时,每个以 ID 结尾的输入有时都会很有用。

正如另一条评论指出的那样,一旦按钮被禁用,它可能不会触发代码隐藏onClick,因此在这种情况下,最好隐藏/只读按钮而不是禁用它。

于 2013-01-11T14:18:41.843 回答
0

他的问题不是他不能禁用按钮,而是他希望他的OnClick事件触发。他的按钮单击事件不会为禁用的按钮触发。

如果您试图阻止未来的点击,您可以隐藏该按钮,然后从代码隐藏中禁用它:

<script>
    function btnStartClick() {
        $("#<%= btnStart.ClientID %>").hide();
        return true;
    }
</script>

和后面的代码:

protected void btnStart_Click(object sender, EventArgs e)
{
     btnStart.Enabled = false;
     //service starts code here
}
于 2013-01-11T14:23:20.633 回答
0

感谢您的回复,我得到了解决方案

<asp:Button ID="btnStart" runat="server" Text="Start" OnClientClick="this.disabled = true; this.value = 'Please Wait';"
            UseSubmitBehavior="false" OnClick="btnStart_Click" />
于 2013-01-12T13:17:06.890 回答