0

私はasp.netmvc3を使用しています。このコードが表示されています。

                   <%
                  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();
       }

また、選択されたチームを一覧表示するページの部分的なビューを更新したいのですが、これは、この作品を入手した後に対処するもう1つの問題です。

4

3 に答える 3

1

アクションリンクごとに一意のIDを設定する必要があります。

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

そしてより

function hideLabel(teamId) {
          $('#actionLink' + teamId).hide();
       }
于 2013-03-18T14:42:37.770 に答える
0

推測:

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

于 2013-03-18T14:35:05.500 に答える
0

単に使用する

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'" })
于 2016-07-18T14:03:40.563 に答える