1

我的 view.cshtml 文件中有按钮:

<td>
    @if(@ViewBag.loading == false){
        @Html.ActionLink(
            "Run Test",
            "RunSingleTest",
            new { testName=@item.Test_type, id=@item.Id},
            new { @class = "btn btn-info" })
    }
</td>

哪个触发方法HomeController.cs

public IActionResult RunSingleTest(string testName, int id)
{
    _service.RunSingleTest(testName, id);
    var items = _service.GetDetailsById<List>(id);
    return View("TestDetails", items);
}

当用户单击该按钮时,我想禁用此按钮。我应该用 JQuery/Javascript 来做吗?您如何将该按钮 id 传递给脚本以及将该 id 放在哪里?

4

2 回答 2

1

您可以使用纯 HTML 元素来完成。此外,我没有看到禁用单击按钮的任何好处,因为您想让用户知道此按钮不应执行更多操作。最好在渲染时将其禁用。

@if(ViewBag.loading == false){
  <a href="javascript:void(0)" class="btn btn-info btn-disabled" id="@item.Id" testName="@item.Test_type">Run Test</a>
}

或者,如果您想从字面上禁用它,那么使用 jQuery 给元素一个特定的类 -

<a href="/RunSingleTest" class="btn btn-info myBtn" ...> Run Test </a>

$('.myBtn').on('click',function(e){
  $(this).addClass('btn-disabled');
  e.PreventDefault() //preventing to navigate
});
于 2018-08-01T10:25:38.637 回答
0

根据这里的问题,您不能只disabled在 actionlink 上设置属性。 相反,这里显示您可以使用 jQuery Javascript 来完成

@Html.ActionLink("Run Test", "RunSingleTest, 
       new { testName=@item.Test_type, id=@item.Id}, 
       new { class = "btn btn-info linkdisabled" })

CSS

.linkdisabled{
   cursor:text;
}

jQuery

$function(){
    $(".linkdisabled").click(function(){
        return false;
    }
}
于 2018-08-01T10:26:36.173 回答