C# 如何在特定条件下禁用“提交表单”按钮
如果记录字段“状态”已记录为已取消,我想禁用取消按钮。我已经知道如何禁用按钮,但问题是jquery如何知道记录字段“Status”被取消。 这是密码C# 如何在特定条件下禁用“提交表单”按钮,c#,jquery,asp.net-mvc,asp.net-mvc-4,C#,Jquery,Asp.net Mvc,Asp.net Mvc 4,如果记录字段“状态”已记录为已取消,我想禁用取消按钮。我已经知道如何禁用按钮,但问题是jquery如何知道记录字段“Status”被取消。 这是密码 @foreach (var rDetail in Model.Customers.ToList()) { <tr> <td> @Html.DisplayFor(model => rDetail.DateEntry) </td> <td>
@foreach (var rDetail in Model.Customers.ToList()) {
<tr>
<td>
@Html.DisplayFor(model => rDetail.DateEntry)
</td>
<td>
@Html.DisplayFor(model => rDetail.DateStart)
</td>
<td>
@Html.DisplayFor(model => rDetail.DateEnd)
</td>
<td>
@Html.DisplayFor(model => rDetail.Status.Name)
</td>
<td>
@Html.DisplayFor(model => rDetail.UserCode)
</td>
<td>
@Html.DisplayFor(model => rDetail.DateModified)
</td>
<td>
@Html.DisplayFor(model => rDetail.Remarks)
</td>
<td>
@Html.ActionLink("Details", "Details", "RoomReservation", new { id = rDetail.Id}, null) |
@using (Html.BeginForm("CancelReservation", "Rooms", new { roomId = Model.Id, reservationId = rDetail.Id, methodId = 0})) {
<input type="submit" value="Cancel" class ="cancelSubmit"/>
}
</td>
</tr>
@foreach(Model.Customers.ToList()中的var rDetail){
@DisplayFor(model=>rDetail.DateEntry)
@DisplayFor(model=>rDetail.DateStart)
@DisplayFor(model=>rDetail.DateEnd)
@DisplayFor(model=>rDetail.Status.Name)
@DisplayFor(model=>rDetail.UserCode)
@DisplayFor(model=>rDetail.DateModified)
@DisplayFor(model=>rDetail.comments)
@ActionLink(“详细信息”,“详细信息”,“房间预订”,新的{id=rDetail.id},空)|
@使用(Html.BeginForm(“取消预订”,“房间”,新{roomId=Model.Id,reservationId=rDetail.Id,methodId=0})){
}
任何帮助都将不胜感激,谢谢:)如果您知道状态已取消,您可以在剃须刀中禁用它
<td>
@Html.ActionLink("Details", "Details", "RoomReservation", new { id = rDetail.Id}, null);
@if(rDetail.Status.Name.Equals("cancelled"))
{
<input type="submit" value="Cancel" class ="cancelSubmit" disabled/>
}
else
{
@using (Html.BeginForm("CancelReservation", "Rooms", new { roomId = Model.Id, reservationId = rDetail.Id, methodId = 0})) {
<input type="submit" value="Cancel" class ="cancelSubmit"/>
}
}
</td>
或者在函数内部,您可以执行以下操作:-
$(this).prop('disabled',
$(this).closest('tr')
.find('#Status_Name')
.text() === 'cancelled');
如果您知道状态已取消,您可以在剃须刀中禁用它
<td>
@Html.ActionLink("Details", "Details", "RoomReservation", new { id = rDetail.Id}, null);
@if(rDetail.Status.Name.Equals("cancelled"))
{
<input type="submit" value="Cancel" class ="cancelSubmit" disabled/>
}
else
{
@using (Html.BeginForm("CancelReservation", "Rooms", new { roomId = Model.Id, reservationId = rDetail.Id, methodId = 0})) {
<input type="submit" value="Cancel" class ="cancelSubmit"/>
}
}
</td>
或者在函数内部,您可以执行以下操作:-
$(this).prop('disabled',
$(this).closest('tr')
.find('#Status_Name')
.text() === 'cancelled');
如果我理解你的意思,像这样的事情应该行得通:
$('#Status_Name').on('keypress', function(e) { //I think that's how the XFor handlers format ids
$('button_to_disable').prop('disabled', this.value === 'Cancelled');
});
如果我理解你的意思,像这样的事情应该行得通:
$('#Status_Name').on('keypress', function(e) { //I think that's how the XFor handlers format ids
$('button_to_disable').prop('disabled', this.value === 'Cancelled');
});
你想在取消状态标签时禁用按钮,对吗?在渲染期间也是如此?你想在取消状态标签时禁用按钮,对吗?在渲染期间也是如此?伙计,你是个救命恩人。我使用了razor方法,效果非常好。虽然我以前也尝试过逻辑,但我们在代码语法上有所不同。我真的需要增加我在ASP.net MVC 4上的代码字典。无论如何,再次感谢你。哇,太好了,很高兴它成功了。我只是在编辑器中输入了它,甚至不确定语法是否正确:)好吧,一开始它不起作用,但你的“取消”是小写字母“c”,而我的记录是大写字母“c”,更改后,它工作了^^^^使用
StringComparison.InvariantCultureIgnoreCase
。即rDetail.Status.Name.Equals(“取消”,StringComparison.InvariantCultureIgnoreCase)
所以大小写无关紧要。老兄,你是个救命恩人。我使用了razor方法,效果很好。虽然我以前也尝试过这种逻辑,但我们在代码语法上存在分歧。我真的需要在ASP.net MVC 4上增加我的代码字典。无论如何,再次感谢你。哇,太好了,很高兴它起作用了。我只是在编辑器中键入了它,甚至不确定是否有syn税务是正确的:)好吧,一开始它不起作用,但你的“取消”是小写字母“c”,至于我的记录,在一个大写字母“c”上,更改后,它起作用了^^^使用StringComparison.InvariantCultureIgnoreCase
。即rdeail.Status.Name.Equals(“取消”,StringComparison.InvariantCultureIgnoreCase)
所以情况无关紧要。