Как бы вы отправили InitParameters в Silverlight в приложении asp.net mvc? - PullRequest
2 голосов
/ 27 апреля 2009

Ранее я передавал информацию в элемент управления Silverlight внутри метода Page_Load. т.е.

protected void Page_Load(object sender, EventArgs e)
{
   MainContainer.InitParameters = "info=" + CurrentUserID.ToString();
}

В MVC, без концепции выделенного кода, я передал идентификатор пользователя как часть модели, но следующий код, похоже, не работает:

<asp:Silverlight id="MainContainer"
   InitParameters="info=<%= Model.CurrentUserID %>" runat="server"
   Source="~/ClientBin/SilverlightControls.xap" ... />

Если вы посмотрите на код, который отображается в браузере, он экранирует теги MVC, поэтому он отправляется следующим образом:

value="info=&lt;%= Model.CurrentUserID %>"

Если я попробую жестко кодировать InitParameters = "info = 1", это сработает.

1 Ответ

2 голосов
/ 27 апреля 2009

Не используйте элемент управления , это элемент управления веб-формами, который на самом деле не принадлежит миру MVC. Вам нужно создать тег самостоятельно - возможно, создайте свой собственный метод расширения Html-помощника для его создания.

Посмотрите на эту запись в блоге: Интеграция Silverlight и ASP.NET MVC

НТН, Charles

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...