从子窗口获取值时出现问题

Issue in fetching values from child window

本文关键字:问题 窗口 获取      更新时间:2023-09-26

我关闭了一个花哨的框,并希望重定向到其他页面的参数,我从fanybox控制器。但是当我关闭fancybox时它说我不能使用这些参数值错误是:CS0103:名称"CID"在当前上下文中不存在

这是我的代码

<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'在当前上下文中不存在

您正在使用范围的问题是因为CID是一个javascript变量,您正试图使用作为服务器端变量。

new { clientId = Html.Raw(Json.Encode(TempDate["Clientseckey"]))}代替new {clientId = CID}

或者将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>