我有这个c#用户控件类:
public partial class UserControls_JsTop : System.Web.UI.UserControl
{
public static string sidebarBannerUrl = getSideBarBannerImgUrl();
protected void Page_Load(object sender, EventArgs e)
{
}
public static string getSideBarBannerImgUrl(){
DataClassesDataContext db = new DataClassesDataContext();
var imgUrl = (from b in db.Banners
where b.Position.Equals(EBannersPosition.siderbar.ToString())
select b).FirstOrDefault();
if (imgUrl != null)
return imgUrl.Path;
return String.Empty;
}
}
我尝试在js脚本中访问static var:
在此处加载:
<script type="text/javascript">
var categoryParam = '<%# CQueryStringParameters.CATEGORY %>';
var subcategory1Param = '<%# CQueryStringParameters.SUBCATEGORY1_ID %>';
var subcategory2Param = '<%# CQueryStringParameters.SUBCATEGORY2_ID %>';
var imgUrl = '<%# UserControls_JsTop.sidebarBannerUrl %>';
</script>
并在此处使用(imgUrl):
<script type="text/javascript" language="javascript">
$(function () {
$(document.body).sidebar({
size: "30px", // can be anything in pixels
length: "270px", // can be anything in pixels
margin: "300px", // can be anything in pixels
position: "left", // left / bottom / right / top
fadding: "0.8", // 0.1 to 1.0
img: imgUrl,
openURL: "www.twitter.com/amitspatil"
});
});
</script>
我不明白为什么它是空的。 请相信我在DB中有这样的记录。
我认为加载var ...时存在一些js问题。
你知道在哪里吗?
感谢
答案 0 :(得分:3)
将#
更改为=
以使用正常表达式而不是数据绑定表达式。