【问题标题】:How can I hide my ajax action link after it is clicked?单击后如何隐藏我的 ajax 操作链接?
【发布时间】:2013-03-06 22:29:20
【问题描述】:

我正在使用 asp.net mvc 3。我的视图中有此代码。

                   <%
                  foreach(Team t in Model.AvailableTeams.AvailableTeams)
                    { %>
                     <%= Ajax.ActionLink(t.Title
                    , "InviteTeamToChallenge"
                    , "Challenge"
                    , new{id = t.TeamId
                    , challengeId = Model.ChallengeId
                    , teamId = t.TeamId
                    , invitedByUserId = Model.userId}
                    , new AjaxOptions
                     {
                          OnSuccess = "hideLabel(teamId)"       
                     } ) %>
                    <% } %>

我试图以任何可能的方式将 teamId 传递给一个 javascript 函数,该函数可以在点击后隐藏操作链接。现在,没有调用 javascript 方法。这是我的javascript:

      function hideLabel(teamId) {
          alert("in JS");
          alert(teamId);
          $('.teamId').hide();
       }

我还想刷新页面上的部分视图,其中列出了已选择的团队,但这是我得到这篇文章后要处理的另一个问题。

【问题讨论】:

    标签: javascript asp.net ajax asp.net-mvc-3


    【解决方案1】:

    您需要为每个操作链接设置唯一的 id:

    new AjaxOptions
                         {
                              OnSuccess = "hideLabel(" + t.TeamId + ")"       
                         },
    new { id="actionLink" + t.TeamId  )
    

    function hideLabel(teamId) {
              $('#actionLink' + teamId).hide();
           }
    

    【讨论】:

    • 获得了被调用的方法,但它仍然没有隐藏操作链接。有什么想法吗?
    【解决方案2】:

    猜测:

    OnSuccess = "hideLabel(" + t.TeamId + ")"

    【讨论】:

      【解决方案3】:

      简单地使用

      OnBegin="javascript:this.style.display='none'"
      or 
      OnComplete="javascript:this.style.display='none'"
      

      例如

      @Ajax.ActionLink("Hide button before ajax", "myAction", new AjaxOptions { OnBegin="javascript:this.style.display='none'" })
      

      @Ajax.ActionLink("Hide button after ajax", "myAction", new AjaxOptions { OnComplete="javascript:this.style.display='none'" })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-04
        • 1970-01-01
        • 1970-01-01
        • 2020-04-16
        相关资源
        最近更新 更多