Silverlight querystring替代品

时间:2011-04-07 19:29:54

标签: silverlight mvvm

我看到有关此主题的类似帖子,但没有人回答我的问题。我正在导航到一个silverlight页面,我需要将值传递给页面。出于安全考虑,我不能使用查询字符串。

有哪些替代方案?

由于

4 个答案:

答案 0 :(得分:1)

您可以使用InitParams。 ////在aspx中设置                                                       “/>

private void Application_Startup(object sender,StartupEventArgs e) {   var coll = e.InitParams; }

答案 1 :(得分:1)

您只需将其添加到可在视图之间共享的Application Context对象即可。我在我当前的项目中使用这种方法,例如

    public class ApplicationContext
    {

        #region Declarations

        // Static instance of the application class.
        private static ApplicationContext _instance;

        #endregion

        #region Constructor

        public ApplicationContext()
        {
        }

        // Static instance creator.
        public static ApplicationContext Instance()
        {
            if (_instance == null)
            {
                _instance = new ApplicationContext();
            }
            return _instance;
        }

        //Shared properties e.g. Is available between all views
        public SecurityContext UserContext { get; set; }
     }

从视图中使用:

CurrentUserContext = ApplicationContext.Instance().UserContext 

因此,在从一个视图导航到另一个视图之前,只需在ApplicationContext对象中填充相关的共享属性,然后可以由其他视图检索。

答案 2 :(得分:0)

您可以将值存储在Web服务器上(通过您的RIA数据模型,或以您喜欢的任何方式发布),然后在导航到新页面时请求值。

答案 3 :(得分:0)

如果是在silverlight视图之间,那么你可以使用一些静态数据包来传递数据。关于如何在Silverlight中发布HTTP Post的This post也可能对您有所帮助。