【发布时间】:2016-04-15 21:31:25
【问题描述】:
我在后面的代码中设置了一个变量:
public string loggedInUserId { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
loggedInUserID = User.Identity.GetUserId();
}
当我在调试模式下运行时,这很好,var 可以正确获取用户。
我有这段 Javascript 从评级系统中获取值,然后调用 WCF 服务:
var loggedinuserid = "<%=loggedInUserId%>";
SaveRatingService.Save(score, walkID, loggedInUserID);
同样,这在本地运行良好。但是,当我发布到服务器并尝试访问该页面时,我得到了这个:
完整的错误日志:
CS1061: 'ASP.walks_walkdetails_aspx' does not contain a definition for 'loggedInUserId' and no extension method 'loggedInUserId' accepting a first argument of type 'ASP.walks_walkdetails_aspx' could be found (are you missing a using directive or an assembly reference?)
为什么要这样做?我尝试在WalkDetails.aspx.designer.cs 文件中手动注册变量,但它抱怨它已经注册了。
提前致谢。
【问题讨论】:
-
您确定您的“发布”100% 正确吗?这看起来很像您的 dll 在服务器上没有被正确替换时遇到的确切问题。
-
实际上,据我所知,代码背后的加载发生在设计页面加载之后。所以在你的情况下,首先你的javascript函数将会发生,但这不知道loggedInUserId变量。
-
@Paul-Jan 我已经尝试多次上传它,它说'成功发布。我会再试一次,但做一个完整的发布(而不是单个值)。然后我将直接通过 FTP 进行调查并回复您
-
@Khazratbek 我在
$(document).ready(function(){...}上运行的函数中获得了变量。这不应该阻止你所说的事情发生吗? -
您的应用程序池是否相同(本地和服务器上)?特别是托管管道模式和 .NET 框架版本...
标签: javascript c# asp.net wcf