[英]CS0103: The name 'rand' does not exist in the current context
我知道此错误一直是大约十二个问题的中心,但我看不到其他任何问题的处境。
我在aspx页面的顶部有以下内容:
<% String rand = new Random().Next().ToString(); %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript" src="../js/script.js?v=<%=rand%>"></script>
它的构建很好,但是当访问页面时,我收到错误消息,抱怨该行的<%=rand%>
部分说它不知道rand
是什么。 作为大型Web应用程序,我们不想缓存经常更改的代码,这就是我们采用的方法。 实际上,这种精确的方法在我们的另一页上有效,但由于某种原因在该页上无效。 我们只想生成一个随机数,因为它在多个我们不想缓存的js文件中使用。
我浏览了许多其他的CS0103问题,但我没有一个人谈论在aspx页的标记中创建的变量。
作为替代解决方案...
<script type="text/javascript" src="../js/script.js?v=<asp:Literal id="randNum" runat="server" />"></script>
然后在您的代码后面。
randNum.Text = new Random().Next().ToString();
顺便提一句,使用此方法来防止缓存有点麻烦。 如果您使用的是.NET 4.5,则建议您研究一下scriptBundle和styleBundle类,它们实际上实现了该方法,并且最小化了脚本/ css。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.