我关闭了一个奇特的盒子,想要重定向到我从fancybox控制器获得的参数的其他页面。但是当我关闭fancybox它说我不能使用那些参数值 Erro是: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”
答案 0 :(得分: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>