在Silverlight和WCF应用程序中从URL收集查询字符串值

在Silverlight和WCF应用程序中从URL收集查询字符串值,wcf,silverlight,Wcf,Silverlight,我正在尝试从url检索查询字符串值。该应用程序应该是silverlight应用程序 例如:示例URL可能看起来像http:///silverlightApp/Default.aspx?S=Name|地址|头衔|萨尔|…… 我应该能够获取查询字符串并构建Silverlight UI 可以这样做,否则Silverlight不适合这种类型。请参阅方法,该方法将查询字符串解析为NameValueCollection [稍后]很抱歉,Silverlight运行时似乎没有System.Web命名空间 请参阅

我正在尝试从url检索查询字符串值。该应用程序应该是silverlight应用程序

例如:示例URL可能看起来像
http:///silverlightApp/Default.aspx?S=Name|地址|头衔|萨尔|……

我应该能够获取查询字符串并构建Silverlight UI

可以这样做,否则Silverlight不适合这种类型。

请参阅方法,该方法将查询字符串解析为
NameValueCollection

[稍后]很抱歉,
Silverlight
运行时似乎没有
System.Web
命名空间

请参阅Silverlight runtime提供的
系统
命名空间中的

Query属性包含URI中包含的任何查询信息。查询信息通过问号(?)与路径信息分开,并继续到URI的末尾。返回的查询信息包括前导问号

查询信息根据RFC 3986进行转义

下面的示例将查询?date=today写入控制台

请参阅方法,该方法将查询字符串解析为
NameValueCollection

[稍后]很抱歉,
Silverlight
运行时似乎没有
System.Web
命名空间

请参阅Silverlight runtime提供的
系统
命名空间中的

Query属性包含URI中包含的任何查询信息。查询信息通过问号(?)与路径信息分开,并继续到URI的末尾。返回的查询信息包括前导问号

查询信息根据RFC 3986进行转义

下面的示例将查询?date=today写入控制台


有多种方法可以做到这一点。在宿主页面中,您可以使用Request.QueryString提取查询字符串值,然后使用initParams标记将它们传递给Silverlight,即:

    <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>
一旦你得到了真正的查询字符串,你可以用正则表达式或者你选择的任何东西来解析它


HTH.

有多种方法可以做到这一点。在宿主页面中,您可以使用Request.QueryString提取查询字符串值,然后使用initParams标记将它们传递给Silverlight,即:

    <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>
一旦你得到了真正的查询字符串,你可以用正则表达式或者你选择的任何东西来解析它


HTH.

我可以在SilverLight或SilverLight Web项目中使用此选项吗?对此有点陌生,请原谅我没有使用正确的术语。谢谢你给我的礼物。我会尝试一下,然后公布结果。现在我正试图通过WCF将POCLR对象/类绑定到SilverLight中的基本控件(textblock、list)。再次感谢…我可以在SilverLight或SilverLight Web项目中使用它吗?对此有点陌生,请原谅我没有使用正确的术语。谢谢你给我的礼物。我会尝试一下,然后公布结果。现在我正试图通过WCF将POCLR对象/类绑定到SilverLight中的基本控件(textblock、list)。再次感谢。。。。
Uri uri = HtmlPage.Document.DocumentUri;