2010-12-02 11 views
0

Ich habe diese C# Benutzersteuerklasse:Warum Java-Skript kann nicht auf diese asp.net var zugreifen?

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; 

    } 
} 

Ich versuche, die statische var in einem js Skript zu acces:

Last es hier:

<script type="text/javascript"> 
    var categoryParam = '<%# CQueryStringParameters.CATEGORY %>'; 
    var subcategory1Param = '<%# CQueryStringParameters.SUBCATEGORY1_ID %>'; 
    var subcategory2Param = '<%# CQueryStringParameters.SUBCATEGORY2_ID %>'; 
    var imgUrl = '<%# UserControls_JsTop.sidebarBannerUrl %>'; 
</script> 

und es verwenden, hier (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> 

Ich verstehe nicht, warum es leer ist. Bitte vertrauen Sie mir, dass es in der DB einen Datensatz mit dieser Bedingung gibt.

Ich denke, es einige js Problem ist, wenn die var geladen ...

Wissen Sie, wo?

dank

+1

Sie haben ein XSS-Loch. – SLaks

Antwort

3

ändern #-= einen normalen Ausdruck anstelle eines Databound zu verwenden.

+0

Du hast meinen Tag gerettet! –

+0

Sie sollten auch die WPL verwenden, um das XSS-Loch zu blockieren. http://wpl.codeplex.com/ – SLaks

+0

ist das nicht genug? Rückgabe HttpUtility.HtmlEncode (VirtualPathUtility.ToAbsolute (imgUrl.Path)); –

Verwandte Themen