2

所以我的视图包含一些操作链接和一个 javascript 方法,我想要的是在操作链接中调用我的脚本,这是我的脚本:

function deleteSubscriber(id)
{
  var url = '/Subscribers/Delete/' + id;
  $.ajax({
    type: "delete",
    url: url,
    data: {},
    datatype: 'json',
    success: function (data) { alert(id); },
  });
}

这是我的行动链接:

 @Html.ActionLink("Delete", "Delete", new { id=//here i want to put my script  },new { @class = "delete-logo" })

这是我的行动:

[HttpDelete,ActionName("delete")]
    public ActionResult Delete(string id)
    {
        try
        {
              IEnumerable<Subscribe> list = from s in dbcontext.Subscribes select s;
              foreach (var sb in list)
              {
                  if (sb.cin == id)
                  {
                      dbcontext.Subscribes.Remove(sb);
                  }
              }
              dbcontext.SaveChanges();
              return View("Index");
        }
        catch
        {
            return View();
        }
    }
4

3 回答 3

4

有很多方法可以做到这一点,这里是其中之一:-

在您看来:-

@Html.ActionLink("Delete", "Delete", new { id=//here i want to put my script  },
 new { @class = "delete-logo" });

如果您想以 ajax 方式调用它,您可以像这样创建您的链接。

<a class="delete-logo" data-key="@Model.Cin" href="javascript:void(0);"/>

脚本:-

$(function()
{
   $('.delete-logo').on('click',function(){
   //Do something to get id.
   //Get the delete button id if it is the id you want to use for deletion.
   var id = $(this).data('key'); 
   deleteSubscriber(id);
  })
});
于 2013-04-27T15:40:25.477 回答
4

如果你想坚持在你的锚点中有 JavaScript 调用,你不一定需要/想要使用 HtmlHelper。您可以编写普通的旧 HTML:

<a href="@Url.Action("delete")" onclick="javascript:deleteSubscriber(@id)">Delete</a>

不过,我不建议使用这种语法;jQuery(和其他 JavaScript 框架)提供了一种更少侵入性的绑定处理程序的方式:

<a href="@Url.Action("delete")" class="delete-btn" data-id="@id">Delete</a>

$('a.delete-btn').on('click', function(event) {
    event.preventDefault();
    // call the function
    deleteSubscriber($(this).data('id'));
});

显然,在这两个中,我假设您有某种循环,您可以在其中访问id变量。

于 2013-04-27T16:33:58.300 回答
0

ActionLink除非您希望在关闭 JavaScript 时调用它,否则您不需要将其设为 an 。

我会class在链接中添加一个属性并将其与.click事件绑定。

于 2013-04-27T15:37:54.873 回答