我看到有关此主题的类似帖子,但没有人回答我的问题。我正在导航到一个silverlight页面,我需要将值传递给页面。出于安全考虑,我不能使用查询字符串。
有哪些替代方案?
由于
答案 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也可能对您有所帮助。