2010-03-27 2 views
2

У меня есть приложение Silverlight, которое должно загружать изображение динамически, в зависимости от имени изображения. Подход, что им принимать сейчас проходит имя изображения с помощью строки запроса на страницу и мимоходом, что, как пары к Silverlight Objet тегуЗагрузить изображение динамически на Silverlight

Это строка запроса передается

Response.Redirect("Build.aspx?img=" + this.PictureUploader.PostedFile.FileName; 

И я стараюсь передать его в Silverlight, как это:

<object id="SilverlightObject" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
     <param name="source" value="Silverlight/iMapsSL.xap"/> 
     <param name="onError" value="onSilverlightError" /> 
     <param name="background" value="white" /> 
     <param name="minRuntimeVersion" value="3.0.40624.0" /> 
     <param name="autoUpgrade" value="true" /> 
     <param name="image" value="<%# Request.QueryString["img"] %>" /> 
     <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none"> 
      <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/> 
     </a> 
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe> 

в последнем парах тега со значением имени = изображений = Requerst.QueryString

Я ловлю изображение внутри Silverlight приложение, как это

private void Application_Startup(object sender, StartupEventArgs e) 
    { 
     string pictureName = ""; 

     if (e.InitParams != null && e.InitParams.Count > 0) 
     { 
      pictureName = e.InitParams["image"]; 

      this.RootVisual = new MainPage(pictureName); 
     } 

     else 
     { 
      this.RootVisual = new MainPage(); 
     } 
    } 

И когда начинается MainPage, я установил источник изображения элемента управления Image, как этот

this.Image.Source = new BitmapImage(new Uri(pictureName, UriKind.RelativeOrAbsolute)); 

Но Silverlight нагрузок без изображения, любую помощь кому-то?

ответ

1

Вы не можете установить суровые значения, изобретая имена параметров, такие как «изображение». InitParams создаются путем указания параметра «initparams». Значение «initparams» представляет собой набор пар name = value с разделителями-запятыми. Следовательно, ваш код должен выглядеть так: -

<object id="SilverlightObject" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
     <param name="source" value="Silverlight/iMapsSL.xap"/> 
     <param name="onError" value="onSilverlightError" /> 
     <param name="background" value="white" /> 
     <param name="minRuntimeVersion" value="3.0.40624.0" /> 
     <param name="autoUpgrade" value="true" /> 
     <param name="initparams" value="image=<%# Request.QueryString["img"] %>" /> 
     <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none"> 
      <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/> 
     </a> 
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe> 
Смежные вопросы