我有一个asp.net
应用程序是一个随机生成器,我希望我的按钮在单击时禁用并保持禁用状态。
我尝试将OnClientClick="this.disabled = true;"
添加到我的<asp:button>
,并尝试在后面的代码中将以下内容添加到我的onclick中
BtnDecideForMe.Attributes.Add("onclick", "this.disabled=true;");
但这些都不起作用。
只要它干净并完成工作,就不会感到困扰。
HTML
<div class="col-sm-2">
<asp:Button class="btn btn-success" ID="BtnDecideForMe" runat="server" Text="Decide For Me" OnClick="BtnDecideForMe_Click" />
</div>
On_Click事件
protected void BtnDecideForMe_Click(object sender, EventArgs e)
{
List<string> Eat = new List<string>();
Eat.Add("Chinese Buffet");
Eat.Add("Harvester");
Eat.Add("Frankie & Benny's");
Eat.Add("Hungry Horse");
Eat.Add("Blaize");
Eat.Add("Chiquito");
Eat.Add("Cafe Football");
Eat.Add("Nando's");
Random Place = new Random();
int Places = Place.Next(0, Eat.Count);
txtDestination.Text = Eat[Places];
//BtnDecideForMe.Enabled = false;
}
我真的不想使用BtnDecideForMe.Enabled = false;
,因为它失去了bootstrap
样式,并且真的不想应用大量css
。
答案 0 :(得分:1)
您可以在按钮点击事件中使用以下代码。
BtnDecideForMe.Enabled = false;
答案 1 :(得分:0)
使用JQuery,您可以使用下面的代码片段实现这一点。这将在发布表单时禁用该按钮,并在完成后删除已禁用的属性。
$(document).on('invalid-form.validate', 'form', function () {
var button = $(this).find('input[type="submit"]');
setTimeout(function () {
button.removeAttr('disabled');
}, 1);
});
$(document).on('submit', 'form', function () {
var button = $(this).find('input[type="submit"]');
setTimeout(function () {
button.attr('disabled', 'disabled');
}, 0);
});
答案 2 :(得分:0)
我还没有深入研究过asp.net,但如果您只是尝试使用jQuery来禁用点击按钮,那么您可以将其作为任何其他元素的目标并使用类似的东西吗?
$(document).on("click", "#your-buttons-id", function() {
$(this).prop("disabled", true);
});
答案 3 :(得分:0)
不想我想做,但我决定重复代码(不是最好的我没有,但它完成了工作),无论如何回答如下:
<% if (txtDestination.Text == "")
{%>
<asp:Button class="btn btn-success" ID="BtnDecideForMe" runat="server" Text="Decide For Me" OnClick="BtnDecideForMe_Click" />
<%}
else
{ %>
<button class="btn btn-success" disabled>Decided</button>
<%} %>