Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在特定条件下禁用“提交表单”按钮_C#_Jquery_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# 如何在特定条件下禁用“提交表单”按钮

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>

如果记录字段“状态”已记录为已取消,我想禁用取消按钮。我已经知道如何禁用按钮,但问题是jquery如何知道记录字段“Status”被取消。 这是密码

 @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)
所以情况无关紧要。