Сбор значений строки запроса из URL в приложении Silverlight и WCF - PullRequest
1 голос
/ 16 июля 2009

Я пытаюсь получить значения строки запроса из URL. И приложение должно быть приложением silverlight.

Например: пример URL может выглядеть как http://<hostname>/silverlightApp/Default.aspx?S=Name|address|title|sal|...

Я должен быть в состоянии взять строку запроса и создать пользовательский интерфейс Silverlight.

Можно ли это сделать или Silverlight не является подходящим кандидатом для этого типа.

Ответы [ 2 ]

1 голос
/ 17 июля 2009

Есть несколько способов сделать это. На странице хостинга вы можете извлечь значения строки запроса с помощью Request.QueryString, а затем передать их в Silverlight с помощью тега initParams, т. Е .:

    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
        width="100%" height="100%">
        <param name="source" value="/ClientBin/MyApplication.xap" />
        <param name="onerror" value="onSilverlightError" />
        <param name="background" value="white" />
        <param name="minRuntimeVersion" value="3.0.40620.0" />
        <param name="autoUpgrade" value="true" />
        <param name="windowless" value="true" />
        <param name="initParams" value="<%=InitParameters %>" />
        <param name="splashScreenSource" value="<%=SplashScreenSource %>" />
        <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40620.0" style="text-decoration: none;">
            <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight"
                style="border-style: none" />
        </a>
    </object>

Или из самого приложения Silverlight вы можете получить строку запроса и другие части URI с помощью HtmlPage.Document.documentUri, например ::

Uri uri = HtmlPage.Document.DocumentUri;

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

НТН.

0 голосов
/ 16 июля 2009

См. System.Web.HttpUtility.ParseQueryString() Метод, который анализирует строку запроса в NameValueCollection.

[Позже] Извините, среда выполнения Silverlight, похоже, не имеет пространства имен System.Web.

См. system.Uri.Query в пространстве имен System, предоставленном средой выполнения Silverlight.

Свойство Query содержит любую информацию о запросе, включенную в URI. Информация о запросе отделяется от информации о пути знаком вопроса (?) И продолжается до конца URI. Возвращаемая информация о запросе включает ведущий знак вопроса.

Информация запроса экранируется в соответствии с RFC 3986.

Следующий пример записывает запрос? Date = today в консоль.

Uri baseUri = new Uri ("http://www.contoso.com/");
Uri myUri = new Uri (baseUri, "catalog/shownew.htm?date=today");

outputBlock.Text += "Uri.Query: ";
outputBlock.Text += myUri.Query;
outputBlock.Text += "\n";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...