I'm currently trying to get data Asynchronously in silverlight to enable me to populate some auto complete boxes and some other display controls.
My silverlight app is based at the root of the site.
With the client object model it's easy to get the title of every web and subweb and sub webs (recusive) however in silverlight i'm not to sure how i go about this.
I have the webs(subWeb1 collection) of the root web and i believe( broken this recently :() i can get the webs(Sub Web 2 collection) but i can't seem to gain access to a list in subWeb 2 that i need access to! I keep getting
The collection has not been initialised. It has not been requested or the request has not been executed. It may need to be explicitly requested
Could anyone shed any light on how you would do this?
Many thanks
There is a Silverlight Client Object Model for just this thing. Here is a post that explains exactly what you are trying to do.
Related
I could not think of a better title, Please suggest one.
I am planning to work on a large web application. It will take time to load the full application before application starts functioning.
Suppose its something like asana.com. If you have a link to the task and you open the link. It loads the application first and then shows the detail of the task.
Note: I have added another example in update 2
I want to do just the opposite. Suppose if I try to open the link directly. It should show me the tasks details first and then load the whole application in background.
What development strategy should I follow to implement such feature. Will angular be good for this? I have worked with angular for small projects and am capable of think in angular :)
I just wanted to be pointed in right direction.
Update 1:
I am using Apache2 PHP5 in backing as ReST API. I am thinking to change to GoLang http server. But that does not matter in this context :)
Update 2:
I have not yet started working on the application, but I know that its size is going to be big and its going to take time to load the application. This will be a javascript application, all the communication to web will be done mostly by API. APIs will be fast and it wont be slowing down the application. My main concern is the javascript library and the approach to the issue that I want to display the content of the page before the application is loaded and load the application in background.
As second example: https://chrome.google.com/webstore/detail/a-journey-through-middle/gjgkjeheegjnnmheaflhdocglkiegoni?utm_source=chrome-ntp-icon
If you open this link in chrome, it will load the application and then load the specific content in a popup. I want to load the content of the popup first and then load the application in background. How should I write my application to achieve that.
My suggestion (and I say this as I start to do similar vs. having proven it successful) would be to make some level of framework fairly static so that users get an almost instant response to the site loaded and then start the angular app with something like this
angular.bootstrap(document.getElementById("container"), ["app"])
Ref for the api - https://docs.angularjs.org/api/ng/function/angular.bootstrap
Ref for a demonstration of this - https://egghead.io/lessons/angularjs-angular-bootstrap-app-init
My expectation then is that you will be able to
Load your static elements quickly (which will just have placeholders for your content/material)
Access the data you want in the order you want to get it to present on the screen
Release any other part of the app you need to chrome it up/decorate or populate side items.
I want to show the result of a WebClient-Postback in an new Browser-Popup-Window. As the "Navigate" and "Popup" methods of HtmlPage only support Get-requests, I issued an POST-request to an REST-Service via WebClient. But now I want to show the result (e.g. application/ms-excel or application/pdf) in an new Browser-Window.
Therefore, can I open an new BrowserWindow and set its contents as well as some corresponding http-headers with on-board means of Silverlight 4? Or even better, is an easier way to trigger the browser to do the POST-request to the service?
Best Regards
I tried going this route but the WebBrowser control is not opened to the developer. What I did as a temporary workaround was to open my webpage http://www.xyz.com/default.aspx inside the WebControl and let the page drive the rest.
Mike Taulty had an example for somthing like this, how you can use javascript to communicate back to the silverlight app through InvokeScript:
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-html-hosting-in-the-webbrowser-control.aspx
I hope it helps!
What is the best way to manage links in a Silverlight application? In my app, I have various custom controls that will open a new website in a new window.
I know in the hosting aspx page you can pass in parameters but I don't know how and where to store these links internally? Should I add a collection to the App object? Is there another mechanism that already exists? Is it a good idea to make my custom controls take the links from a global scope object or the links should be passed in the constructor?
How do you do it?
You have lots of options in Silverlight depending on what type of links they are, how many and how you want to maintain them.
If they are referenced by ID and updated occasionally, you could store them in a resource dictionary or a custom XAML file and load that on demand (XAML files are just object descriptions after all).
If you need to constantly maintain them, a database on the server would store them centrally and you would fetch them as needed via a service.
For lots in individual custom controls, that don't change links often, you could just make the hyperlink URL a property of the object and set the links in the XAML that contains the controls (this is the simplest option for the simplest usage). e.g.
<customControl Hyperlink="http://mylink.com/path/params/etc"/>
Basically it comes down to how you want to manage them. If you drop us a line via our website contact page with specific details we will be happy to provide more detailed examples/suggestions.
Hope this helps.
How to view all the content in my IsolatedStorageFile by setting a new page in your browser?
Thank you
I'm not sure what "setting a new page in your browser" has to do with it. I assume you are refering perhaps to the loading of a different Silverlight app from the site.
There are two Isolated Stores one per application and one per site. If you do mean moving from one app to another then you will only be able to share the site store between them.
You can get access to the site store with IsolatedStorageFile.GetUserStoreForSite().
Enumeration of Directories and Files in the store are preformed with the methods GetDirectories() and GetFiles(). Try having a read through the documentation here.
I want to save user name and password in a cookie.mine is a win forms application.Please advice how can we do this.
Thanks
In win Forms you should use registry,files,databases.... not cookies, cookies for web applications that usually be displayed in web browsers.
I would suggest using a password protected SQLite database (see System.Data.SQLite) and storing whatever you want there.
Also, do remember to hash your passwords!
This is not supposed to be an answers - more of a comment. Apologies if I posted it in the wrong way:
I expect the person asking the question may be aware that this is not the optimal way to store info in a winforms app. I would also like to know how to do this as a possible way of passing information from a website to a desktop app? For example you want the same app to do different things depending on information pass to the app from the website.
I've found that you can Retrieve Query String Information in a ClickOnce Application (http://msdn.microsoft.com/en-us/library/ms172242.aspx) which allows you to pass information from a site to an app. I want to know if cookies could also be used to do this.
I suspect it would be difficult and not practical in many situations to read info from a cookie in this way. One way I can think of doing this is putting a GUID in a cookie and also hardcoing that GUID into the app and running a find in files over the computer to find it. I realise that's a very ugly method but I would like to know what's possible.
I suppose another way might be to embeded a Webbrowser control in a winforms app and get the Webbrowser control to load a page containing JavaScript which reads that cookie. You would then need some way of passing that back to the .NET code though?
First, we can't use Cookies in WinForm applications.. it's a Web side functionality, but you can do something else..
For instance, once I had to do the same thing... to save the latest user connected to the application. I did it with a database (I prefere database, because txt files are not that safe.. we can erase them by mistake..)
So I suggest to save the username (and password in your case) on the database after every Connection event.
Hope that was usefull.