Search Results

Search found 18907 results on 757 pages for 'computer history'.

Page 202/757 | < Previous Page | 198 199 200 201 202 203 204 205 206 207 208 209  | Next Page >

  • Your favorite LiveCD

    - by sova
    Perhaps this is a question better suited for linux.se but since I have servers on all environments I was wondering what your favorite LiveCD is. Wiki defines this, for those unfamiliar, as a CD or DVD containing a bootable computer operating system. Live CDs are unique in that they have the ability to run a complete, modern operating system on a computer lacking mutable secondary storage, such as a hard disk drive. Live USB flash drives are similar to live CDs, but often have the added functionality of automatically and transparently writing changes back to their bootable medium. I tend to stick with Knoppix, and today I have to register the machine on the network before I can get any of my utilities running via IP. Any suggestions?

    Read the article

  • Desktop in Kubuntu lacks bars and quite everything after trying to apply Plymouth fix for proprietary drivers

    - by Michcioperz
    I'm running Kubuntu 13.10, my computer's graphics card is Nvidia GT 520. I tried to fix that Plymouth's problem with proprietary graphics driver using an old script I found on the internet (it was coded for Natty, now that I think about it I shouldn't have done it). I ran that script and rebooted my computer. First incorrect behaviour I noticed was that Plymouth only displayed its text splash only on 1/4th of the screen, though when I pressed Esc key the logs were displaying correctly. Main problem appeared when I logged in. All my desktop's windows lack menu bar, can't be closed with Alt-F4, and they don't appear on the task bar. I tried fixing it by reinstalling GRUB a few times, purging /etc/grub.d and /boot/grub, but only the text splash issue was fixed. How can I fix that?

    Read the article

  • Ubuntu Doesn't Start from USB After Installation

    - by Fred Venus
    My computer refuses to boot from the USB even after I change everything that I can possibly think of on my motherboard's BIOS. But I have booted from the USB twice in the past. The first time is when I first got the computer and needed to install a new operating system. The second time is when I installed Windows onto the whole hard drive and needed to reinstall Ubuntu. It seems that it only refuses to boot if there is already an existing installation of Ubuntu on the hard drive. Any ideas on what is going on?

    Read the article

  • Ubuntu 14.10 no GUI or term login

    - by Lito
    I have updated yesterday my Ubuntu 14.10 installation with apt-get dist-upgrade. I was working all afternoon and after that I have rebooted computer. Once done it, lightdm doesn't starts (only gnome logo) and I can not view any of Ctrl + Shift + [1-6] terminals (cursor is blinking). I have read a lot of posts with no success: nividia/intel conflicts (I have a laptop with an Intel graphic card) I have enabled nomodeset and tried all this options My computer boots to a black screen, what options do I have to fix it? I have repaired grub I can load recovery/livecd/windows and mount partitions and network without problem I have all packages and system updated Here my logs. X11 not shows any error or problem, is loading all needed drivers without problem. How can I raise the level of debug? Best regards.

    Read the article

  • Wobbly windows not working in compiz for 12.04

    - by f22christian
    I'm very new at Ubuntu and am still trying to figure everything out. I recently downloaded Compiz settings manager and enabled wobbly windows. Nothing. So I uninstalled it and re-installed it and still, nothing. I've ran all the updates and updated the graphics drivers and I still have nothing. I have a Sony Vaio with a Intel® Core™2 CPU T5500 @ 1.66GHz × 2 . Its a 2009 computer, so I think it should be able to work just fine. Please help! I'm not a "computer wiz", so you'll need to put it in simpler terms for me. And yes, I am I do have Unity 3D. Thanks!

    Read the article

  • Moving from an IT department to a proper technology company

    - by user2434
    I have been working with Java/web applications in an IT department of a retail company. As much as work goes, there is nothing much to say. Fixing couple of if/else loops, writing some simple business logic etc., is all what I have been doing. Having said that, I feel I have a good technical knowledge, and I am willing to move to companies like Microsoft/Google/Amazon etc., [I want to work in these places, because I feel I am a technical guy, and I am working in a place where most people freak out when the words like 'algorithm' are heard] I can of course prepare algorithms/computer science fundamentals etc.,(I hold a 4 year degree in computer science program) but beyond that, will my experience hold against me ? I doubt I'll even get a call from them seeing my work experience. What kind of questions(apart from the algorithm types) can I expect ?

    Read the article

  • unresposive cursor

    - by user289294
    Running Lucid. Computer worked fine last night, went to bed and found the following problem this morning: (so no hard or software changes) Computer boots up, screen displays normally; date & time correct, background normal, toolbars OK, everything looks normal. Cursor moves round screen in the traditional manner but clicking produces nothing, not left, right or centre. Nothing will open. Tried restarting, using different USB ports and a different mouse. Have reduced system to minimum; monitor keyboard mouse only. Does anyone have a suggestion? Thanks in advance, David D

    Read the article

  • I have installed Ubuntu 12.04, now my Windows Vista doesn't boot

    - by andraz
    I have a Windows Vista computer. And I've installed Ubuntu 12.04 on it. But now, when I boot my device it doesn't ask me which OS I want to choose, instead it just boots in Ubuntu. Please help me! I don't know what to do... :/ P.S.: I've created a partition with the Ubuntu installer. My hard disk drive is 250 gb (there around) and the partition is 30gb big... P.S.S.: It's very important because is my mom's computer and there are some very important files on it... :(

    Read the article

  • Why Does Unity on Ubuntu 11.04 Lags Often That I have To Manually Shutdown/Restart my Core i3 Laptop?

    - by user20655
    I did a fresh install of Ubuntu then do did some upgrades. After my next restart when I try to open Ubuntu Software Center it took about 20 seconds for the window to load then 10 more seconds before it became click able. While doing some installation of software, Unity lags like hell that every time I click any application it takes a few seconds before I can see it. Even GEdit take a lot of time to load. The worst part was when I was doing nothing to my computer. Even on that part, my computer lags. My Laptop is a Brand New Core i3 with 2GB of RAM. Unity should run perfectly on that kind of machine right? BTW: I reinstalled Ubuntu 11.04 for about 5 times now and still nothing changed.

    Read the article

  • Dual boot (Win 7 & Ubuntu 13.10 clock problem

    - by peter
    I'm a "newbie" to Ubuntu, but I've been wrestling with this problem for several hours and don't seem to be able to solve it: When I set the time in Windows (Indianapolis, Eastern U.S. time zone) and then re-boot to Ubuntu, the computer time goes to Hawaiian time. When the time is set in Ubuntu, and the computer is rebooted to Windows the time is advanced by 5 hours. I've set the time in the BIOS, and it seems to make no difference. I've tried setting the time from "automatic" to "manual", all with the same result. Not a big problem, but it shows some underlying glitch. Could anyone explain?

    Read the article

  • Playing with Windows Phone Developer Tools CTP

    tweetmeme_source = 'alpascual'; Installation tips. If Visual Studio 2010 Professional or higher is already installed on your development computer, an add-in for Visual Studio 2010 Professional is automatically installed as well. The installation took an hour on a Windows 7 with 4 GB of RAM and rebooted the computer once. Something tells me the installer still needs some work.   Lets Write some code Everything installed, lets check if Visual Studio 2008 still works with Silverlight...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Problem after upgrading from 11.10 to 12.04

    - by Veena Kumari
    I had installed Ubuntu 11.04 through CD alongside windows. I got a problem here in upgradation when I upgraded my Ubuntu 11.10 version to 12.04.There were many errors too while installing upgrades.. The package got broken. After restarting the computer,It should appear Ubuntu 12.04,even here It is appearing ubuntu 11.10 with four dots just moving one by one and does not proceeds further,hangs here!! Windows is running fine,I restarted computer many times,plugged out the charger...Nothing is working. How to solve this issue?? I'm not a very frequent user of all this.. Please guide me...

    Read the article

  • laptop will not boot after attempting upgrade to 13.10

    - by naerwenya
    I wanted to update my OS to the new 14.04 LTS. I was running 12.04 LTS before and followed the advice that upgrades should be done in steps. I first upgraded to 12.10, which seemed to work fine, and later to 13.10. This was all done through the Software Manager. After the last upgrade, I am no longer able to boot up my computer. The GNU GRUB menu opens up, but after selecting Ubuntu, it just stalls with a blank purple screen. If I select one of the other kernels, it also stalls after "Loading initial ramdisk...". I can't get into the Recovery Menu, either. I'm still rather new to Linux and may have possibly made the situation worse. Unfortunately, nothing has worked yet. I tried reinstalling from a flash drive and on my first attempt, the wizard recognised a previous installation. Unfortunately, the wizard also didn't like how my partitions were set up (I didn't change anything) and gave an error before closing. Unfortunately, I didn't write the error down, but it was about the boot partition. On the next attempt and ever since, the installation wizard has stated that "This computer currently has no detected operating systems." This is strange, because I could see the disk and even access my files when booting up from the USB. At this point, I decided to back up my important files using dropbox. Before losing all my files, I wanted to try the Boot-Repair tool, which also produced no results, and the files are no longer visible when booting from USB. The link to the Boot-Repair log is at http://paste.ubuntu.com/7457249/. If I then proceed through to the "Something else" installation option, I can see that the partitions still exist. This is what they look like: /dev/sda free space (size indicated 1MB) /dev/sda1 efi (33MB of 98 MB used) /dev/sda2 efi (352634MB of 746330MB used) /dev/sda3 swap (3725MB, none used) free space (0MB) Is there any way I might be able to get my computer to work and preserve my files as well?

    Read the article

  • The entire User Interface freezes/becomes unresponsive for up to 20 seconds

    - by user2400801
    I am a rails developer, using Ubuntu 13.10 installed on a Asus S550C Ultrabook (was a windows 8 machine originally) Every day I work with Sublime Text 2, Google Chrome, and Terminal (about 6 tabs open) The problem: clicking on the menu bar (eg File - Save) while using Sublime Text 2 will occasionally (eg almost always) make the ENTIRE COMPUTER freeze for up to 20 seconds. This occasionally happens when I go to log out / lock my computer. Sometimes it doesn't freeze completely but rather is just very sluggish and then recovers. I don't know if this is a problem with Sublime Text 2, or the Ubuntu 13.10 operating system. (Thanks for reading) Best Regards

    Read the article

  • How to access the SD card through my Sony Ericsson Xperia Arc Phone?

    - by user16364
    I have a Sony Ericsson Xperia Arc phone and I cannot access its SD card through the USB cable provided. I have set the USB connection mode to MSC yet when I connect the phone to my computer I cannot see the SD card (or anything for that matter). The Disk Utility however, does see an SEMC Mass Storage device but it says that no media was detected. I have validated that the SD card works as I removed it from the camera and plugged it into a card reader and saw all the photos and files stored on it. I have validated that the phone works as I have connected it (in MSC mode) to my wife's Windows 7 computer. Can anyone please tell me how I can access the SD card on my phone.

    Read the article

  • Font substitution

    - by sjdh
    What happens when you open a .docx document that is written in a font not available on your computer? How can you find the name of original font? I guess writer select automatically an other font. I tried to open a document written in Japanese. Writer shows the fond Droid Sans, and all the characters except number and Roman letters appear as squares. After changing to Droid Sans Japanese a few boxes are still left. I guess I have to install the original font on my computer, but I do not know the name of the font.

    Read the article

  • How can I make my Java desktop application to run on different computers in a network locally and updating same mysql database?

    - by JaMpa
    I have developed Java desktop application for registration of students in the computer laboratories in our college, but what I need is to make this application whenever it runs on any computer (Windows XP machines) on the laboratory each and every data filled by the college students goes to the same MySql database (through WAMP server) running on the server machine (Win Server 2003). Also, I need this application to run during booting of windows computers in the laboratory for the purpose when any student tries to switch on any PC in the comp lab before interfacing the desktop icons should sign in through user name and password when he has already registered or signing up in order for getting the access.

    Read the article

  • Upgraded Ubuntu from 12.04 to 12.10 Ati radeon HD 3450 Catastrophe!

    - by minime
    When I had upgraded everything was ready on the screen om my computer and with my 12.04 ubuntu. When I restarted my system, the graphics card was not detected. I was forced to start the computer in low graphics mode, and eventually I had a pink deskop with only my maps, and no other programs at all. What do I do now? I need to recover the pictures on my system so that I can upload them online. I'd done a graphics card test on the terminal initially, and it showed that the card was compatible with unity 3D. I have an ATI radeon HD 3450 and I was running a 32 bit build of Ubuntu 12.04 initially Right now I have a broken install of Linux, with no working graphics card or desktop to start from, so I'm unsure of how to fix this.

    Read the article

  • Blank screen after logging in

    - by Dnarlock08
    I just installed the 64 bit version onto my laptop. It is the only operating system on the computer. After the initial setup and restart, I tried to log in, but after I typed my password and hit enter, the screen just went black. Tried to restart several times and had the same problem. Not sure what to do. I tried to use the 32 bit version instead but it doesn't even install. My computer is 64 bit, 200 g hard drive, 2 ghz processor, 4 g ram

    Read the article

  • what are best cities for a java developer to live and work in america? [closed]

    - by Shabangu
    hi everyone. I am doing research on the topic as per subject line. I am currently attending BSc Honours Studies in computer science at university of pretoria - south africa, and intend to do masters/PhD either in america or the uk. I am a java programmer, and currently hold a sun scjp certification (intend to study further). as per my findings so far, america seems to be a better option than uk. could you kindly comment on what good universities are there for computer science postgraduate studies in america, especially in california? and what about work thereafter? I also need to sort this out asap, as I need to decide if will doing toefl or ielts. please comment. shabangu

    Read the article

  • Screen gets garbled on some web sites

    - by user10565
    I have a Gateway notebook with graphics card 01:05.0 VGA compatible controller: ATI Technologies Inc RS690M [Radeon X1200 Series] with open source driver Linux version 2.6.32 -28 - generic. No other operating system on the computer. When I am using firefox to browse the web, everything normally works just fine except that when I attempt to access some particular web pages the screen completely messes up going mostly white with various streaks, etc., although I can access other pages of the same site without problems. When I run the cursor over the garbled screen, bits of the image recompose themselves, at least partially, and I can continue to open the applications window, or turn the computer off, or open the terminal, or take screen shots, etc., although all menus are unreadable. Also, when I zoom in on Google Earth the screen completely messes up. At all other times, there are no apparent problems. Any ideas?

    Read the article

  • What is the "don't force full gpu scalling" configuration in the newest Nvida driver settings?

    - by wild_oscar
    I have a Zotac Ion board on a computer running Linux ad I had the driver version 295.xx. I was trying to run a 1080 video on XBMC and, because playback was a bit sluggish, part of my (unsuccessful) attempt at making it run smoothly was to upgrade the Nvidia driver. The problem is that the computer is connected by HDMI to a Pioneer A/V system - which in turn is connected to the TV (also through HDMI). When I created this set up I didn't get any image on my tv until I Unchecked "force full gpu scaling" in "Flat Panel Scaling". After upgrading the Nvidia driver I no longer have image. Upon investigating, I saw on the release changelog: Removed Flat Panel Scaling configurability in nvidia-settings. Any desired scaling can be configured through the new "ViewPortIn" and "ViewPortOut" MetaMode attributes. I know very little about this, however, so I'm lost. What would the correct configuration be with these new ViewPortIn/Out options to achieve the same result as "unchecking force full gpu scalling"?

    Read the article

  • Ubuntu 12.10 hasa no wireless connectivity on Dell Inspiron 1520

    - by Jorge Tijerina
    I have just installed Ubuntu for the first time ever. I have just installed it in a Dell Inspiron 1520 that came pre installed with Windows Vista and i currently run both of the OS (I just choose when the computer starts up). The wifi definitely works on the computer since i used it to download Ubuntu in the first place when I was using Vista. The Network Manager says that I only have a 'Wired' Network and it doesn't have any other options to choose from. I connected the Laptop into a wired connection and downloaded the 'Wicd Network Manager' but it had no effect either. From there I continued to go into 'Software Sources' and installed the wireless drive but that had no effect either. So... What can I do?

    Read the article

  • Need suggestions on how to extract data from .docx/.doc file then into mssql

    - by DarkPP
    I'm suppose to develop an automated application for my project, it will load past-year examination/exercises paper (word file), detect the sections accordingly, extract the questions and images in that section, and then store the questions and images into the database. (Preview of the question paper is at the bottom of this post) So I need some suggestions on how to extract data from a word file, then inserting them into a database. Currently I have a few methods to do so, however I have no idea how I could implement them when the file contains textboxes with background image. The question has to link with the image. Method One (Make use of ms office interop) Load the word file - Extract image, save into a folder - Extract text, save as .txt - Extract text from .txt then store in db Question: How i detect the section and question. How I link the image to the question. Extract text from word file (Working): private object missing = Type.Missing; private object sFilename = @"C:\temp\questionpaper.docx"; private object sFilename2 = @"C:\temp\temp.txt"; private object readOnly = true; object fileFormat = Word.WdSaveFormat.wdFormatText; private void button1_Click(object sender, EventArgs e) { Word.Application wWordApp = new Word.Application(); wWordApp.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone; Word.Document dFile = wWordApp.Documents.Open(ref sFilename, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); dFile.SaveAs(ref sFilename2, ref fileFormat, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,ref missing, ref missing,ref missing,ref missing,ref missing,ref missing, ref missing,ref missing); dFile.Close(ref missing, ref missing, ref missing); } Extract image from word file (Doesn't work on image inside textbox): private Word.Application wWordApp; private int m_i; private object missing = Type.Missing; private object filename = @"C:\temp\questionpaper.docx"; private object readOnly = true; private void CopyFromClipbordInlineShape(String imageIndex) { Word.InlineShape inlineShape = wWordApp.ActiveDocument.InlineShapes[m_i]; inlineShape.Select(); wWordApp.Selection.Copy(); Computer computer = new Computer(); if (computer.Clipboard.GetDataObject() != null) { System.Windows.Forms.IDataObject data = computer.Clipboard.GetDataObject(); if (data.GetDataPresent(System.Windows.Forms.DataFormats.Bitmap)) { Image image = (Image)data.GetData(System.Windows.Forms.DataFormats.Bitmap, true); image.Save("C:\\temp\\DoCremoveImage" + imageIndex + ".png", System.Drawing.Imaging.ImageFormat.Png); } } } private void button1_Click(object sender, EventArgs e) { wWordApp = new Word.Application(); wWordApp.Documents.Open(ref filename, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); try { for (int i = 1; i <= wWordApp.ActiveDocument.InlineShapes.Count; i++) { m_i = i; CopyFromClipbordInlineShape(Convert.ToString(i)); } } finally { object save = false; wWordApp.Quit(ref save, ref missing, ref missing); wWordApp = null; } } Method Two Unzip the word file (.docx) - Copy the media(image) folder, store somewhere - Parse the XML file - Store the text in db Any suggestion/help would be greatly appreciated :D Preview of the word file: (backup link: http://i.stack.imgur.com/YF1Ap.png)

    Read the article

  • Using the West Wind Web Toolkit to set up AJAX and REST Services

    - by Rick Strahl
    I frequently get questions about which option to use for creating AJAX and REST backends for ASP.NET applications. There are many solutions out there to do this actually, but when I have a choice - not surprisingly - I fall back to my own tools in the West Wind West Wind Web Toolkit. I've talked a bunch about the 'in-the-box' solutions in the past so for a change in this post I'll talk about the tools that I use in my own and customer applications to handle AJAX and REST based access to service resources using the West Wind West Wind Web Toolkit. Let me preface this by saying that I like things to be easy. Yes flexible is very important as well but not at the expense of over-complexity. The goal I've had with my tools is make it drop dead easy, with good performance while providing the core features that I'm after, which are: Easy AJAX/JSON Callbacks Ability to return any kind of non JSON content (string, stream, byte[], images) Ability to work with both XML and JSON interchangeably for input/output Access endpoints via POST data, RPC JSON calls, GET QueryString values or Routing interface Easy to use generic JavaScript client to make RPC calls (same syntax, just what you need) Ability to create clean URLS with Routing Ability to use standard ASP.NET HTTP Stack for HTTP semantics It's all about options! In this post I'll demonstrate most of these features (except XML) in a few simple and short samples which you can download. So let's take a look and see how you can build an AJAX callback solution with the West Wind Web Toolkit. Installing the Toolkit Assemblies The easiest and leanest way of using the Toolkit in your Web project is to grab it via NuGet: West Wind Web and AJAX Utilities (Westwind.Web) and drop it into the project by right clicking in your Project and choosing Manage NuGet Packages from anywhere in the Project.   When done you end up with your project looking like this: What just happened? Nuget added two assemblies - Westwind.Web and Westwind.Utilities and the client ww.jquery.js library. It also added a couple of references into web.config: The default namespaces so they can be accessed in pages/views and a ScriptCompressionModule that the toolkit optionally uses to compress script resources served from within the assembly (namely ww.jquery.js and optionally jquery.js). Creating a new Service The West Wind Web Toolkit supports several ways of creating and accessing AJAX services, but for this post I'll stick to the lower level approach that works from any plain HTML page or of course MVC, WebForms, WebPages. There's also a WebForms specific control that makes this even easier but I'll leave that for another post. So, to create a new standalone AJAX/REST service we can create a new HttpHandler in the new project either as a pure class based handler or as a generic .ASHX handler. Both work equally well, but generic handlers don't require any web.config configuration so I'll use that here. In the root of the project add a Generic Handler. I'm going to call this one StockService.ashx. Once the handler has been created, edit the code and remove all of the handler body code. Then change the base class to CallbackHandler and add methods that have a [CallbackMethod] attribute. Here's the modified base handler implementation now looks like with an added HelloWorld method: using System; using Westwind.Web; namespace WestWindWebAjax { /// <summary> /// Handler implements CallbackHandler to provide REST/AJAX services /// </summary> public class SampleService : CallbackHandler { [CallbackMethod] public string HelloWorld(string name) { return "Hello " + name + ". Time is: " + DateTime.Now.ToString(); } } } Notice that the class inherits from CallbackHandler and that the HelloWorld service method is marked up with [CallbackMethod]. We're done here. Services Urlbased Syntax Once you compile, the 'service' is live can respond to requests. All CallbackHandlers support input in GET and POST formats, and can return results as JSON or XML. To check our fancy HelloWorld method we can now access the service like this: http://localhost/WestWindWebAjax/StockService.ashx?Method=HelloWorld&name=Rick which produces a default JSON response - in this case a string (wrapped in quotes as it's JSON): (note by default JSON will be downloaded by most browsers not displayed - various options are available to view JSON right in the browser) If I want to return the same data as XML I can tack on a &format=xml at the end of the querystring which produces: <string>Hello Rick. Time is: 11/1/2011 12:11:13 PM</string> Cleaner URLs with Routing Syntax If you want cleaner URLs for each operation you can also configure custom routes on a per URL basis similar to the way that WCF REST does. To do this you need to add a new RouteHandler to your application's startup code in global.asax.cs one for each CallbackHandler based service you create: protected void Application_Start(object sender, EventArgs e) { CallbackHandlerRouteHandler.RegisterRoutes<StockService>(RouteTable.Routes); } With this code in place you can now add RouteUrl properties to any of your service methods. For the HelloWorld method that doesn't make a ton of sense but here is what a routed clean URL might look like in definition: [CallbackMethod(RouteUrl="stocks/HelloWorld/{name}")] public string HelloWorld(string name) { return "Hello " + name + ". Time is: " + DateTime.Now.ToString(); } The same URL I previously used now becomes a bit shorter and more readable with: http://localhost/WestWindWebAjax/HelloWorld/Rick It's an easy way to create cleaner URLs and still get the same functionality. Calling the Service with $.getJSON() Since the result produced is JSON you can now easily consume this data using jQuery's getJSON method. First we need a couple of scripts - jquery.js and ww.jquery.js in the page: <!DOCTYPE html> <html> <head> <link href="Css/Westwind.css" rel="stylesheet" type="text/css" /> <script src="scripts/jquery.min.js" type="text/javascript"></script> <script src="scripts/ww.jquery.min.js" type="text/javascript"></script> </head> <body> Next let's add a small HelloWorld example form (what else) that has a single textbox to type a name, a button and a div tag to receive the result: <fieldset> <legend>Hello World</legend> Please enter a name: <input type="text" name="txtHello" id="txtHello" value="" /> <input type="button" id="btnSayHello" value="Say Hello (POST)" /> <input type="button" id="btnSayHelloGet" value="Say Hello (GET)" /> <div id="divHelloMessage" class="errordisplay" style="display:none;width: 450px;" > </div> </fieldset> Then to call the HelloWorld method a little jQuery is used to hook the document startup and the button click followed by the $.getJSON call to retrieve the data from the server. <script type="text/javascript"> $(document).ready(function () { $("#btnSayHelloGet").click(function () { $.getJSON("SampleService.ashx", { Method: "HelloWorld", name: $("#txtHello").val() }, function (result) { $("#divHelloMessage") .text(result) .fadeIn(1000); }); });</script> .getJSON() expects a full URL to the endpoint of our service, which is the ASHX file. We can either provide a full URL (SampleService.ashx?Method=HelloWorld&name=Rick) or we can just provide the base URL and an object that encodes the query string parameters for us using an object map that has a property that matches each parameter for the server method. We can also use the clean URL routing syntax, but using the object parameter encoding actually is safer as the parameters will get properly encoded by jQuery. The result returned is whatever the result on the server method is - in this case a string. The string is applied to the divHelloMessage element and we're done. Obviously this is a trivial example, but it demonstrates the basics of getting a JSON response back to the browser. AJAX Post Syntax - using ajaxCallMethod() The previous example allows you basic control over the data that you send to the server via querystring parameters. This works OK for simple values like short strings, numbers and boolean values, but doesn't really work if you need to pass something more complex like an object or an array back up to the server. To handle traditional RPC type messaging where the idea is to map server side functions and results to a client side invokation, POST operations can be used. The easiest way to use this functionality is to use ww.jquery.js and the ajaxCallMethod() function. ww.jquery wraps jQuery's AJAX functions and knows implicitly how to call a CallbackServer method with parameters and parse the result. Let's look at another simple example that posts a simple value but returns something more interesting. Let's start with the service method: [CallbackMethod(RouteUrl="stocks/{symbol}")] public StockQuote GetStockQuote(string symbol) { Response.Cache.SetExpires(DateTime.UtcNow.Add(new TimeSpan(0, 2, 0))); StockServer server = new StockServer(); var quote = server.GetStockQuote(symbol); if (quote == null) throw new ApplicationException("Invalid Symbol passed."); return quote; } This sample utilizes a small StockServer helper class (included in the sample) that downloads a stock quote from Yahoo's financial site via plain HTTP GET requests and formats it into a StockQuote object. Lets create a small HTML block that lets us query for the quote and display it: <fieldset> <legend>Single Stock Quote</legend> Please enter a stock symbol: <input type="text" name="txtSymbol" id="txtSymbol" value="msft" /> <input type="button" id="btnStockQuote" value="Get Quote" /> <div id="divStockDisplay" class="errordisplay" style="display:none; width: 450px;"> <div class="label-left">Company:</div> <div id="stockCompany"></div> <div class="label-left">Last Price:</div> <div id="stockLastPrice"></div> <div class="label-left">Quote Time:</div> <div id="stockQuoteTime"></div> </div> </fieldset> The final result looks something like this:   Let's hook up the button handler to fire the request and fill in the data as shown: $("#btnStockQuote").click(function () { ajaxCallMethod("SampleService.ashx", "GetStockQuote", [$("#txtSymbol").val()], function (quote) { $("#divStockDisplay").show().fadeIn(1000); $("#stockCompany").text(quote.Company + " (" + quote.Symbol + ")"); $("#stockLastPrice").text(quote.LastPrice); $("#stockQuoteTime").text(quote.LastQuoteTime.formatDate("MMM dd, HH:mm EST")); }, onPageError); }); So we point at SampleService.ashx and the GetStockQuote method, passing a single parameter of the input symbol value. Then there are two handlers for success and failure callbacks.  The success handler is the interesting part - it receives the stock quote as a result and assigns its values to various 'holes' in the stock display elements. The data that comes back over the wire is JSON and it looks like this: { "Symbol":"MSFT", "Company":"Microsoft Corpora", "OpenPrice":26.11, "LastPrice":26.01, "NetChange":0.02, "LastQuoteTime":"2011-11-03T02:00:00Z", "LastQuoteTimeString":"Nov. 11, 2011 4:20pm" } which is an object representation of the data. JavaScript can evaluate this JSON string back into an object easily and that's the reslut that gets passed to the success function. The quote data is then applied to existing page content by manually selecting items and applying them. There are other ways to do this more elegantly like using templates, but here we're only interested in seeing how the data is returned. The data in the object is typed - LastPrice is a number and QuoteTime is a date. Note about the date value: JavaScript doesn't have a date literal although the JSON embedded ISO string format used above  ("2011-11-03T02:00:00Z") is becoming fairly standard for JSON serializers. However, JSON parsers don't deserialize dates by default and return them by string. This is why the StockQuote actually returns a string value of LastQuoteTimeString for the same date. ajaxMethodCallback always converts dates properly into 'real' dates and the example above uses the real date value along with a .formatDate() data extension (also in ww.jquery.js) to display the raw date properly. Errors and Exceptions So what happens if your code fails? For example if I pass an invalid stock symbol to the GetStockQuote() method you notice that the code does this: if (quote == null) throw new ApplicationException("Invalid Symbol passed."); CallbackHandler automatically pushes the exception message back to the client so it's easy to pick up the error message. Regardless of what kind of error occurs: Server side, client side, protocol errors - any error will fire the failure handler with an error object parameter. The error is returned to the client via a JSON response in the error callback. In the previous examples I called onPageError which is a generic routine in ww.jquery that displays a status message on the bottom of the screen. But of course you can also take over the error handling yourself: $("#btnStockQuote").click(function () { ajaxCallMethod("SampleService.ashx", "GetStockQuote", [$("#txtSymbol").val()], function (quote) { $("#divStockDisplay").fadeIn(1000); $("#stockCompany").text(quote.Company + " (" + quote.Symbol + ")"); $("#stockLastPrice").text(quote.LastPrice); $("#stockQuoteTime").text(quote.LastQuoteTime.formatDate("MMM dd, hh:mmt")); }, function (error, xhr) { $("#divErrorDisplay").text(error.message).fadeIn(1000); }); }); The error object has a isCallbackError, message and  stackTrace properties, the latter of which is only populated when running in Debug mode, and this object is returned for all errors: Client side, transport and server side errors. Regardless of which type of error you get the same object passed (as well as the XHR instance optionally) which makes for a consistent error retrieval mechanism. Specifying HttpVerbs You can also specify HTTP Verbs that are allowed using the AllowedHttpVerbs option on the CallbackMethod attribute: [CallbackMethod(AllowedHttpVerbs=HttpVerbs.GET | HttpVerbs.POST)] public string HelloWorld(string name) { … } If you're building REST style API's this might be useful to force certain request semantics onto the client calling. For the above if call with a non-allowed HttpVerb the request returns a 405 error response along with a JSON (or XML) error object result. The default behavior is to allow all verbs access (HttpVerbs.All). Passing in object Parameters Up to now the parameters I passed were very simple. But what if you need to send something more complex like an object or an array? Let's look at another example now that passes an object from the client to the server. Keeping with the Stock theme here lets add a method called BuyOrder that lets us buy some shares for a stock. Consider the following service method that receives an StockBuyOrder object as a parameter: [CallbackMethod] public string BuyStock(StockBuyOrder buyOrder) { var server = new StockServer(); var quote = server.GetStockQuote(buyOrder.Symbol); if (quote == null) throw new ApplicationException("Invalid or missing stock symbol."); return string.Format("You're buying {0} shares of {1} ({2}) stock at {3} for a total of {4} on {5}.", buyOrder.Quantity, quote.Company, quote.Symbol, quote.LastPrice.ToString("c"), (quote.LastPrice * buyOrder.Quantity).ToString("c"), buyOrder.BuyOn.ToString("MMM d")); } public class StockBuyOrder { public string Symbol { get; set; } public int Quantity { get; set; } public DateTime BuyOn { get; set; } public StockBuyOrder() { BuyOn = DateTime.Now; } } This is a contrived do-nothing example that simply echoes back what was passed in, but it demonstrates how you can pass complex data to a callback method. On the client side we now have a very simple form that captures the three values on a form: <fieldset> <legend>Post a Stock Buy Order</legend> Enter a symbol: <input type="text" name="txtBuySymbol" id="txtBuySymbol" value="GLD" />&nbsp;&nbsp; Qty: <input type="text" name="txtBuyQty" id="txtBuyQty" value="10" style="width: 50px" />&nbsp;&nbsp; Buy on: <input type="text" name="txtBuyOn" id="txtBuyOn" value="<%= DateTime.Now.ToString("d") %>" style="width: 70px;" /> <input type="button" id="btnBuyStock" value="Buy Stock" /> <div id="divStockBuyMessage" class="errordisplay" style="display:none"></div> </fieldset> The completed form and demo then looks something like this:   The client side code that picks up the input values and assigns them to object properties and sends the AJAX request looks like this: $("#btnBuyStock").click(function () { // create an object map that matches StockBuyOrder signature var buyOrder = { Symbol: $("#txtBuySymbol").val(), Quantity: $("#txtBuyQty").val() * 1, // number Entered: new Date() } ajaxCallMethod("SampleService.ashx", "BuyStock", [buyOrder], function (result) { $("#divStockBuyMessage").text(result).fadeIn(1000); }, onPageError); }); The code creates an object and attaches the properties that match the server side object passed to the BuyStock method. Each property that you want to update needs to be included and the type must match (ie. string, number, date in this case). Any missing properties will not be set but also not cause any errors. Pass POST data instead of Objects In the last example I collected a bunch of values from form variables and stuffed them into object variables in JavaScript code. While that works, often times this isn't really helping - I end up converting my types on the client and then doing another conversion on the server. If lots of input controls are on a page and you just want to pick up the values on the server via plain POST variables - that can be done too - and it makes sense especially if you're creating and filling the client side object only to push data to the server. Let's add another method to the server that once again lets us buy a stock. But this time let's not accept a parameter but rather send POST data to the server. Here's the server method receiving POST data: [CallbackMethod] public string BuyStockPost() { StockBuyOrder buyOrder = new StockBuyOrder(); buyOrder.Symbol = Request.Form["txtBuySymbol"]; ; int qty; int.TryParse(Request.Form["txtBuyQuantity"], out qty); buyOrder.Quantity = qty; DateTime time; DateTime.TryParse(Request.Form["txtBuyBuyOn"], out time); buyOrder.BuyOn = time; // Or easier way yet //FormVariableBinder.Unbind(buyOrder,null,"txtBuy"); var server = new StockServer(); var quote = server.GetStockQuote(buyOrder.Symbol); if (quote == null) throw new ApplicationException("Invalid or missing stock symbol."); return string.Format("You're buying {0} shares of {1} ({2}) stock at {3} for a total of {4} on {5}.", buyOrder.Quantity, quote.Company, quote.Symbol, quote.LastPrice.ToString("c"), (quote.LastPrice * buyOrder.Quantity).ToString("c"), buyOrder.BuyOn.ToString("MMM d")); } Clearly we've made this server method take more code than it did with the object parameter. We've basically moved the parameter assignment logic from the client to the server. As a result the client code to call this method is now a bit shorter since there's no client side shuffling of values from the controls to an object. $("#btnBuyStockPost").click(function () { ajaxCallMethod("SampleService.ashx", "BuyStockPost", [], // Note: No parameters - function (result) { $("#divStockBuyMessage").text(result).fadeIn(1000); }, onPageError, // Force all page Form Variables to be posted { postbackMode: "Post" }); }); The client simply calls the BuyStockQuote method and pushes all the form variables from the page up to the server which parses them instead. The feature that makes this work is one of the options you can pass to the ajaxCallMethod() function: { postbackMode: "Post" }); which directs the function to include form variable POST data when making the service call. Other options include PostNoViewState (for WebForms to strip out WebForms crap vars), PostParametersOnly (default), None. If you pass parameters those are always posted to the server except when None is set. The above code can be simplified a bit by using the FormVariableBinder helper, which can unbind form variables directly into an object: FormVariableBinder.Unbind(buyOrder,null,"txtBuy"); which replaces the manual Request.Form[] reading code. It receives the object to unbind into, a string of properties to skip, and an optional prefix which is stripped off form variables to match property names. The component is similar to the MVC model binder but it's independent of MVC. Returning non-JSON Data CallbackHandler also supports returning non-JSON/XML data via special return types. You can return raw non-JSON encoded strings like this: [CallbackMethod(ReturnAsRawString=true,ContentType="text/plain")] public string HelloWorldNoJSON(string name) { return "Hello " + name + ". Time is: " + DateTime.Now.ToString(); } Calling this method results in just a plain string - no JSON encoding with quotes around the result. This can be useful if your server handling code needs to return a string or HTML result that doesn't fit well for a page or other UI component. Any string output can be returned. You can also return binary data. Stream, byte[] and Bitmap/Image results are automatically streamed back to the client. Notice that you should set the ContentType of the request either on the CallbackMethod attribute or using Response.ContentType. This ensures the Web Server knows how to display your binary response. Using a stream response makes it possible to return any of data. Streamed data can be pretty handy to return bitmap data from a method. The following is a method that returns a stock history graph for a particular stock over a provided number of years: [CallbackMethod(ContentType="image/png",RouteUrl="stocks/history/graph/{symbol}/{years}")] public Stream GetStockHistoryGraph(string symbol, int years = 2,int width = 500, int height=350) { if (width == 0) width = 500; if (height == 0) height = 350; StockServer server = new StockServer(); return server.GetStockHistoryGraph(symbol,"Stock History for " + symbol,width,height,years); } I can now hook this up into the JavaScript code when I get a stock quote. At the end of the process I can assign the URL to the service that returns the image into the src property and so force the image to display. Here's the changed code: $("#btnStockQuote").click(function () { var symbol = $("#txtSymbol").val(); ajaxCallMethod("SampleService.ashx", "GetStockQuote", [symbol], function (quote) { $("#divStockDisplay").fadeIn(1000); $("#stockCompany").text(quote.Company + " (" + quote.Symbol + ")"); $("#stockLastPrice").text(quote.LastPrice); $("#stockQuoteTime").text(quote.LastQuoteTime.formatDate("MMM dd, hh:mmt")); // display a stock chart $("#imgStockHistory").attr("src", "stocks/history/graph/" + symbol + "/2"); },onPageError); }); The resulting output then looks like this: The charting code uses the new ASP.NET 4.0 Chart components via code to display a bar chart of the 2 year stock data as part of the StockServer class which you can find in the sample download. The ability to return arbitrary data from a service is useful as you can see - in this case the chart is clearly associated with the service and it's nice that the graph generation can happen off a handler rather than through a page. Images are common resources, but output can also be PDF reports, zip files for downloads etc. which is becoming increasingly more common to be returned from REST endpoints and other applications. Why reinvent? Obviously the examples I've shown here are pretty basic in terms of functionality. But I hope they demonstrate the core features of AJAX callbacks that you need to work through in most applications which is simple: return data, send back data and potentially retrieve data in various formats. While there are other solutions when it comes down to making AJAX callbacks and servicing REST like requests, I like the flexibility my home grown solution provides. Simply put it's still the easiest solution that I've found that addresses my common use cases: AJAX JSON RPC style callbacks Url based access XML and JSON Output from single method endpoint XML and JSON POST support, querystring input, routing parameter mapping UrlEncoded POST data support on callbacks Ability to return stream/raw string data Essentially ability to return ANYTHING from Service and pass anything All these features are available in various solutions but not together in one place. I've been using this code base for over 4 years now in a number of projects both for myself and commercial work and it's served me extremely well. Besides the AJAX functionality CallbackHandler provides, it's also an easy way to create any kind of output endpoint I need to create. Need to create a few simple routines that spit back some data, but don't want to create a Page or View or full blown handler for it? Create a CallbackHandler and add a method or multiple methods and you have your generic endpoints.  It's a quick and easy way to add small code pieces that are pretty efficient as they're running through a pretty small handler implementation. I can have this up and running in a couple of minutes literally without any setup and returning just about any kind of data. Resources Download the Sample NuGet: Westwind Web and AJAX Utilities (Westwind.Web) ajaxCallMethod() Documentation Using the AjaxMethodCallback WebForms Control West Wind Web Toolkit Home Page West Wind Web Toolkit Source Code © Rick Strahl, West Wind Technologies, 2005-2011Posted in ASP.NET  jQuery  AJAX   Tweet (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();

    Read the article

< Previous Page | 198 199 200 201 202 203 204 205 206 207 208 209  | Next Page >