我必须在哪里获得ajax助手或如何创建它以使用 @ajaxextensions.actionlink

发布于 2025-02-05 11:42:10 字数 573 浏览 2 评论 0原文

我想在cshtml文件(ASP.NET 6 MVC)中使用 @ajaxextens.actionlink(ajaxhelper,ajaxhelper,string,字符串,字符串,字符串,routevalueDictionary,ajaxoptions)。

@model List<Shift>
@using System.Web.Mvc.Ajax;

@{
    AjaxOptions deleteOptions = new AjaxOptions()
            {
                InsertionMode = InsertionMode.Replace,
                UpdateTargetId = "table"
            };
}

        @foreach (Shift shift in Model)
        {<td>
@AjaxExtensions.ActionLink( ???,"Delete", "DeleteShift", "MainDoctor", new{id=shift.Id}, deleteOptions)
</td>
}

I want to use @AjaxExtensions.ActionLink(AjaxHelper, String, String, String, RouteValueDictionary, AjaxOptions) in cshtml file (ASP.Net 6 MVC).

@model List<Shift>
@using System.Web.Mvc.Ajax;

@{
    AjaxOptions deleteOptions = new AjaxOptions()
            {
                InsertionMode = InsertionMode.Replace,
                UpdateTargetId = "table"
            };
}

        @foreach (Shift shift in Model)
        {<td>
@AjaxExtensions.ActionLink( ???,"Delete", "DeleteShift", "MainDoctor", new{id=shift.Id}, deleteOptions)
</td>
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岛歌少女 2025-02-12 11:42:10

AS 此文档说,ajaxextensions.actionlink仅适用于ASP.NET MVC 5.2,正确的用法应为:

@Ajax.ActionLink("Delete", "DeleteShift", "MainDoctor", new { id = shift.Id }, deleteOptions)

在ASP.NET 6中,您需要使用类似的替代方式下图:

<a data-ajax="true" data-ajax-mode="replace" data-ajax-update="#table" data-ajax-url="@Url.Action("DeleteShift", "MainDoctor", new { id = shift.Id})">Delete</a>

您可以关注一个简​​单的工作演示:

模型:

public class Test
{
    public string Id{ get; set; }
}

view(view/home/index.cshtml):

@model Test
<div id="table">
    @Model.Id
    <a data-ajax="true" data-ajax-mode="replace" data-ajax-update="#table" data-ajax-url="@Url.Action("DeleteShift", "MainDoctor", new { id = 1 })">Delete</a>
</div>

@section Scripts
{
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajax-unobtrusive/3.2.6/jquery.unobtrusive-ajax.js" integrity="sha256-v2nySZafnswY87um3ymbg7p9f766IQspC5oqaqZVX2c=" crossorigin="anonymous"></script>
 
}

控制器:

public class MainDoctorController:Controller
{
    public IActionResult DeleteShift(int id)
    {
        var model = new Test()
        {
            Id = "bb"
        };
        return PartialView("/Views/Home/Index.cshtml", model);
    }
}

public class HomeController : Controller
{
    public async Task<IActionResult> Index()
    {
        var model = new Test()
        {
            Id = "aaa"
        };
        return View(model);
    }
}

结果:

As this document said, AjaxExtensions.ActionLink is only applies to ASP.NET MVC 5.2, and the correct usage should be:

@Ajax.ActionLink("Delete", "DeleteShift", "MainDoctor", new { id = shift.Id }, deleteOptions)

In ASP.NET 6, you need use an alternative way like below:

<a data-ajax="true" data-ajax-mode="replace" data-ajax-update="#table" data-ajax-url="@Url.Action("DeleteShift", "MainDoctor", new { id = shift.Id})">Delete</a>

A simple working demo you could follow:

Model:

public class Test
{
    public string Id{ get; set; }
}

View(Views/Home/Index.cshtml):

@model Test
<div id="table">
    @Model.Id
    <a data-ajax="true" data-ajax-mode="replace" data-ajax-update="#table" data-ajax-url="@Url.Action("DeleteShift", "MainDoctor", new { id = 1 })">Delete</a>
</div>

@section Scripts
{
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajax-unobtrusive/3.2.6/jquery.unobtrusive-ajax.js" integrity="sha256-v2nySZafnswY87um3ymbg7p9f766IQspC5oqaqZVX2c=" crossorigin="anonymous"></script>
 
}

Controller:

public class MainDoctorController:Controller
{
    public IActionResult DeleteShift(int id)
    {
        var model = new Test()
        {
            Id = "bb"
        };
        return PartialView("/Views/Home/Index.cshtml", model);
    }
}

public class HomeController : Controller
{
    public async Task<IActionResult> Index()
    {
        var model = new Test()
        {
            Id = "aaa"
        };
        return View(model);
    }
}

Result:

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文