javascript
  • asp.net-mvc
  • razor
  • 2013-07-09 61 views 4 likes 
    4

    您好我正在使用GridView中的编辑按钮。我想要一个确认按钮,然后调用该操作?在剃须刀Url.Action确认

    grid.Column("","",format:@<text>@if(!item.IsBookPublished) 
    { 
    <text> <a href='@Url.Action("EditBookByID","Books", new {BookID = @item.BookDetailsID, CreatedBy = @item.UserID , onclick = "return confirm('Are you sure you want to Edit?')" })'>Edit</a></text> 
    } 
    </text> 
    

    但是,onclick属性并未评估,而是作为参数传递。我如何获得确认?

    回答

    9

    你把它放在了错误的地方。现在,你已经通过了它作为参数传递给Url.Action帮手,而应该是一个单独的属性,你所定义的href属性以同样的方式:

    <a href="@Url.Action("EditBookByID", "Books", new { bookID = item.BookDetailsID, CreatedBy = item.UserID })" onclick="return confirm('Are you sure you want to Edit?')">Edit</a> 
    

    顺便说一句,你应该考虑使用助手为:

    grid.Column("", "", format: 
        @<text> 
         @if(!item.IsBookPublished) 
         { 
          Html.ActionLink(
           "Edit", 
           "EditBookByID", 
           "Books", 
           new { bookID = @item.BookDetailsID }, 
           new { onclick = "return confirm('Are you sure you want to Edit?')" } 
          ) 
         } 
        </text> 
    ) 
    
    +0

    非常感谢亲爱的达林:)完全错过了! – TBA

    +0

    谢谢你的工作:)你能告诉我为什么我们需要这个帮手吗?锚定标签有什么优势吗? – TBA

    +0

    是的,有很多优点:服务器端助手会负责正确编码所有数据。 –

    4

    通过将“的onclick”的Url.Action助手里面,你告诉它把它翻译为URL参数。

    你想要做什么,而不是放的onclick助手外是这样的:

    <a href='@Url.Action("EditBookByID","Books", new {BookID = @item.BookDetailsID, CreatedBy = @item.UserID })' onclick = "return confirm('Are you sure you want to Edit?')"> 
        Edit 
    <a> 
    
    +0

    谢谢瑞恩得到它的工作:) – TBA

    相关问题