将整个按钮链接到它包含的Ajax.ActionLink

tac*_*cos 4 ajax asp.net-ajax asp.net-mvc-4 asp.net-mvc-5

我使用以下代码来实现排序:

<button type="button" class="btn btn-default @(Model.SortOrder.Trim().ToUpper().Equals("NAME") ? "active" : "")">
    @Ajax.ActionLink("Name", "Cause", "Search", new { query = Model.Query, category = Model.Category, pageNumber = 0, sortOrder = "NAME", sortDirection = "ASCENDING" }, new AjaxOptions() { UpdateTargetId = "SearchCauseSelfWidgetContent", InsertionMode = InsertionMode.Replace, OnSuccess = "PostAjaxLoad()" })
</button>
Run Code Online (Sandbox Code Playgroud)

正如您所料,当我单击按钮内的文本时,它可以正常工作,但是如果我点击其他任何地方(按钮边界和文本之间的填充),它就不会做任何事情.

因为似乎没有Url.ajax方法的帮助器,并且没有Ajax.ButtonLink,我对如何在这个ajax调用中包装整个按钮有点迷失.

tac*_*cos 7

我很厚 在这种情况下(使用Bootstrap类)我只需要将按钮的classes 添加"btn btn-default"到我ActionLink@class:

@Ajax.ActionLink(
    "Name",
    "Cause",
    "Search",
    new { query = Model.Query, category = Model.Category, pageNumber = 0, sortOrder = "NAME", sortDirection = "ASCENDING" },
    new AjaxOptions() { UpdateTargetId = "SearchCauseSelfWidgetContent", InsertionMode = InsertionMode.Replace, OnSuccess = "PostAjaxLoad()"},
    new { @class = "btn btn-default" } // < -- added.
    )
Run Code Online (Sandbox Code Playgroud)

  • 但我希望在我的按钮中有一个范围和一些内容.那个怎么样? (2认同)