1

ファンシーボックスを閉じて、ファンシーボックスコントローラーから取得したパラメーターを使用して他のページにリダイレクトしたいのですが、ファンシーボックスを閉じると、それらのパラメーター値を使用できないと表示されますErro is:CS0103:名前「CID」は現在のコンテキスト

hereiは私のコードです

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>

<script type="text/javascript">
    $(document).ready(function () {
        var CSec = @Html.Raw(Json.Encode(TempData["Clientseckey"]));
        var CID =  @Html.Raw(Json.Encode(TempData["ClientID"]));
        parent.closeFancybox(); 
        var csec1 =  @Html.Raw(Json.Encode(TempData["Clientseckey"]));
        var url = '@Url.Action("NewAPIForm", "Developer", new { clientID = CID }, new { clientkey = CSec1  })';
        parent.location.href = url;
    });

</script>

CS0103:名前'CID'は現在のコンテキストに存在しません

4

1 に答える 1

0

スコープで発生している問題はCID、サーバー側変数として使用しようとしている JavaScript 変数であるためです。

new {clientId = CID}だから試してみる代わりにnew { clientId = Html.Raw(Json.Encode(TempDate["Clientseckey"]))}

または、サーバー側の変数に CID を配置します。

@{
  var CID2 = Html.Raw(Json.Encode(TempDate["Clientseckey"]));
}

(以下で違いを見つけやすくするために、CID2と呼びました)次に、JSで次のことができます

<script type="text/javascript">
    $(document).ready(function () {
        var CSec = @Html.Raw(Json.Encode(TempData["Clientseckey"]));
        var CID =  @CID2;
        parent.closeFancybox(); 
        var csec1 =  @Html.Raw(Json.Encode(TempData["Clientseckey"]));
        var url = '@Url.Action("NewAPIForm", "Developer", new { clientID = CID2 }, new { clientkey = CSec1  })';
        parent.location.href = url;
    });
</script>
于 2013-01-16T21:30:33.047 に答える