Как динамически распространять файлы xap во время выполнения - PullRequest
2 голосов
/ 29 июля 2011

В моем приложении я загружаю некоторый файл данных xml из какого-то информационного центра, добавляю в этот файл xml (в aspx.cs) столбец с изображениями и все вместе перехожу к GridView в файле aspx.

То же самое я хочу сделать с файлами xap - мне нужно добавить их в GridView в соответствии с контекстом данных, но, к сожалению, есть проблема - у объекта нет объекта. Атрибуты, подобные изображению.

Вот мой код для добавления изображений (gvCurrency - это GridView):

for (int i = 0; i < currency.Count; i++)
{
  Image image = new Image();
  image.Attributes.Add("src", "Images/Currency/" + xdoc.GetElementsByTagName("CURRENCYCODE")[i].InnerText + ".gif");
  image.Attributes.Add("height", "15px");
  image.Attributes.Add("width", "21px");
  gvCurrency.Rows[i].Cells[0].Controls.Add(image);
}

Другая возможность, как мне кажется, заключается в привязке ссылок на соответствующие файлы xap в файле aspx, которые вэтот случай должен выглядеть так (если я не ошибаюсь):

<asp:GridView ID="gvCurrency" runat="server"  AutoGenerateColumns="False" ...>
  <Columns>
    <asp:BoundField DataField="FLAG" />
    <asp:BoundField HeaderText="Currency Name" DataField="NAME" />
    ...
    <asp:TemplateField >
      <ItemTemplate>
        <div id="silverlightControlHost">
          <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="10px" height="10px">
          <param name="source" value="ClientBin/ArrowTriangle.xap"/>
          ...
        </div>
      </ItemTemplate>
    </asp:TemplateField >
  </Columns>
</asp:GridView>

Итак, мой вопрос: как я могу динамически распространять файлы xap во время выполнения (в первом случае) и как я могу связывать ссылкик xap файлам (во втором случае)?

Спасибо.

Реализацию кода выше можно увидеть здесь: http://www.lzel.net/wf_Currency_ASP.aspx

1 Ответ

0 голосов
/ 06 октября 2011

Вы можете динамически загрузить файл xap с сервера и поместить его в ячейку таблицы (после рендеринга на стороне клиента) с помощью javascript (лучше всего jQuery).

...