【问题标题】:Modifying ajax.ActionLink in mvc3在 mvc3 中修改 ajax.ActionLink
【发布时间】:2012-03-05 19:44:11
【问题描述】:

我有这个链接:

   @Ajax.ActionLink("Delete", "Delete", new { deleteID = menu.MenuID.ToString(), unDelete = 1 }, new AjaxOptions { UpdateTargetId = menu.MenuID.ToString() }, new { id = menu.MenuID.ToString() })

当它被按下时,我想将取消删除的值更改为0。但我不知道如何 更改操作方法的值。这是我的操作方法:

     public ActionResult Delete(string deleteID, int unDelete)
    {
        _gMenus.DeleteTopic(int.Parse(deleteID), unDelete); 
        return Content("Undelete");
    }

我可以设置链接的内容/文本,但不能设置属性,有没有办法改变 属性。 而且,我使用 ajax 进行删除(通过 Get 而不是发布)是否不安全!?!

更新:

<a class="deleteLink" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#1" href="/Admin/Delete?deleteID=1&amp;unDelete=1" id="1">Delete</a>

我需要将 unDelete 替换为 0

我试图做这样的事情:

    alert(
$(".deleteLink").attr("href", "/Admin/Delete?deleteID=1&amp;unDelete=0").attr()
);

但是没有消息出现:(

【问题讨论】:

    标签: ajax asp.net-mvc-3


    【解决方案1】:

    当我搜索这个问题时,我找到了以下解决方案。但我无法尝试验证answer

    据此可以使用jQuery来替换属性

    $("#IdOfActionLink").click(function() {
        
        this.href = this.href.replace("1", "0");
    });
    

    我猜这有一些问题,比如将所有“1”替换为“0”,但希望这可以帮助您了解

    问候

    【讨论】:

    • hmmm..这有点破坏我的逻辑..因为这意味着我必须放弃动作逻辑
    • 是的,但您仍然可以在 click 事件中对控制器中的 Action 进行 Ajax 调用。
    • 它不会替换 url 变量..看看更新看看它是什么样子的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 2012-03-25
    • 1970-01-01
    • 2023-03-29
    • 2012-01-31
    • 2012-03-16
    相关资源
    最近更新 更多