Adding client side business logic to CRM forms using Silverlight managed code

I have recently been prototyping some concept applications for Windows Live using managed code in Silverlight V1.1 Alpha and thought it would be cool, if Dynamics CRM developers could take advantage and write their client side logic in, lets say, C# rather than JavaScript. Currently, you can use CRM form events (Onload/OnSave/OnChange) to add JavaScript code to the forms. Some of the reasons why someone would do that is to create richer and more interactive user experience, implement form verification/validation or mash up data from multiple sources, without spending the cost of making a round trip to the server.

I am excited about Silverlight V1.1 and the ability to write client side code in C#, so I spent a few hours to build a simple example that shows how to extend Dynamics CRM forms business logic using Silverlight V1.1 Alpha managed code. Here is why I think anybody should care about this sample compared to what is already enabled:

  1. Developer experience: I personally have more fun writing in strongly typed and rich languages like C# than JavaScript.
  2. Performance: Silverlight runs compiled C# code on the client. JavaScript is an interpreted language and hence generally slower in performance.
  3. Protecting your investment: There are limited ways to protect JavaScript code since the code is viewable by the client, on the other hand, the prospects of protecting Silverlight managed assemblies is much higher (Obfuscation, MSLP, etc).

Note that all these reasons only makes sense if you are convinced that your code should run on the client and don’t want to pay the cost for making a round trip to the server for processing every function.

On to the sample…..the sample implements a very simple logic just to help better understand the architecture: if the value of a field is changed, based on some logic, set the value of another field.

Requirements

  1. Install Visual Studio 2008 RTM (install the trial verion for free).  
  2. Install Microsoft Silverlight 1.1 Tools Alpha for Visual Studio 2008 RTM. This tool enables you to create, view and compile Silverlight 1.1 projects in Visual Studio.
  3. Install Microsoft Silverlight 1.1 Alpha September Refresh Runtime on all the clients that you want to run the managed assembly on. Note that Silverlight will automatically install this on the first use so no deployment is really needed. But to get your development environment quickly setup, I suggest that you install the runtime on your dev/test machine.
  4. Access to a server that runs Microsoft Dynamics CRM 3.0 or 4.0 (I have tested it with CRM V4.0 RC0)

Get started

1) Build your Silverlight Assembly: First lets build a Silverlight managed assembly to be called by CRM forms.  Open VS and create a new Silverlight V1.1 project (or use the one that I have already created in the attachement). VS creates some default files.  Rename the files to make your project look like below image (ignore the OnChange.js file for now).

Update the HTML page of the project, CRMSilverlight.html, to look like this. It is pretty standard, all I did was to rename some of the files. This HTML page is the one that is hosting the Silverlight control and will be exposed through an IFrame on CRM form(see below).

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<!-- saved from url=(0014)about:internet -->
<head>
<title>Microsofft CRM Silverlight IFrame</title>
<script type="text/javascript" src="Silverlight.js"></script>
<script type="text/javascript" src="CRMSilverlight.html.js"></script>
<style type="text/css">
.silverlightHost { width: 100%; height: 100%; }
</style>
</head>
<body>
<div id="SilverlightControlHost" class="silverlightHost" >
<script type="text/javascript">
createSilverlight();
</script>
</body>
</html>  

Add a new C# managed method to Page.xaml.cs by creating calculateRating method. This is a simple method that will be called from CRM form. This is where all the fun begins, you can write all of your client side code in C#, beautiful! The method takes an int from CRM form and returns a string reflecting how good the credit score is, simple. The Scriptable tags simply means that the class and the method are accessible from JavaScript.

namespace CRMSilverlight    
{
   [Scriptable]   
   public partial class Page : Canvas    
   {        
      //This method is Scriptable which means it can be called from HTML DOM        
      //Put all of your complex logic in this method.  You can write all of your logic in C#        
      //This methods takes a credit score integer and returnes a string rating       
      [Scriptable]        
      public string calculateRating (int creditScore)       
     {
         string creditRating;
         if (creditScore <= 500)               
             creditRating = "Bad";
         else if (creditScore >500 && creditScore <=700)
            creditRating = "Good";
         else
         creditRating = "Excellent";
         return creditRating;
     }
    
     //When the page is loaded, a new object called basic is registered        
     //This object is used to access methods and properties of this class        
     //from HTML DOM
     public void FromCRMForm(object o, EventArgs e)        
     {
         // Required to initialize variables
         InitializeComponent();
        // This class will be referenced in JavaScript using keyword "basic"             
         WebApplication.Current.RegisterScriptableObject("basic", this);       
     }
}

That is it! compile your project.  It should compile with no errors and create two files in the ClientBin folder of your VS project: CRMSilverlight.dll and CRMSilverlight.pdb. You are now ready to copy the project files onto the CRM server.

2) Publish the Silverlight managed assembly on CRM server

Now you need to put the project files on IIS so they can be accessed by CRM forms.  Go to the server where CRM server is installed. Open IIS manager and create a new folder, SLCRM, in CRM web application root.  Copy the files that are shown below from the VS project into this folder, including the ClientBin folder and its content (it includes the Silverlight managed assembly, CRMSilverlight.dll and its pdb, CRMSilverlight.pdb). Make sure that all the files, including the dll, can be opened from your browser (i.e. IIS correctly serves all the files).

3) Add an IFrame and two custom fields to CRM Form

Choose a CRM form to host the Silverlight control.  I used the Account form and added an IFrame to the bottom of the Administration tab.  Note that this IFrame is only there to host the Silverlight control on the page so you can make it as small and unnoticeable as possible.  Set the URL of the IFrame to the URL of the CRMSilverlight.html file that you published on the server in step 2. 

Now add two attributes to the Account Business Entity: Silver_CreditScore (number) and Silver_CreditRating (string).  The attributes will then show on CRM Form designer as fields.  Add these fields to the Account form, Administration section.  All standard CRM customization stuff.

4) Hook up CRM form events to call the Silverlight managed assembly

In CRM form designer, add the following JavaScript code to the OnChange event for Silver_CreditScore field that you earlier added to Account form.  Whenever this field is changed, this event is fired.  

//This is how to access the Silverlight control on the IFrame page
//IFRAME_HiddenSL is the ID of the IFrame added earlier
var control = window.frames['IFRAME_HiddenSL'].document.getElementById('SilverlightControl');
var score = crmForm.all.silver_creditscore.DataValue;
//This is how to access the calculateRating method in the Silverlight managed assembly
var rating = control.Content.basic.calculateRating(parseInt(score));
crmForm.all.silver_creditrating.DataValue = rating;

I also included this script in the VS project that is attached (in OnChange.Js file).

That is it folks.  Now save and publish the Account form using CRM customization tools.  Open an account form, this will load the Iframe that has the Silverlight Control on it.  Set a value in Credit Score field, this will fire the OnChange event.  The OnChange event will then reach into the Silverlight Control in the IFrame and call the C# calculateRating method by passing the value of the Credit Score field.  The rating gets calculated in managed assembly that is running in the browser and return the result to the CRM form.  The last line of the OnChange script sets the value returned from Silverlight managed assembly to the Credit Rating field.  Sweet...

The VS project for this sample is here:

CRMSilverlight.zip (131.88 kb)

Currently rated 4.6 by 9 people

  • Currently 4.555555/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Related posts

Comments

November 28. 2007 19:21

trackback

Trackback from Arash Ghanaie-Sichanie Blog

Extending CRM forms with Managed code using Silverlight 1.1

Arash Ghanaie-Sichanie Blog

November 28. 2007 19:52

pingback

Pingback from absolutely-people-search.info

Free People Searches » Extending CRM forms with Managed code using Silverlight 1.1

absolutely-people-search.info

November 28. 2007 20:06

trackback

Trackback from Noticias externas

Extending CRM forms with Managed code using Silverlight 1.1

Noticias externas

November 28. 2007 22:04

pingback

Pingback from msdnrss.thecoderblogs.com

MSDN Blog Postings » Extending CRM forms with Managed code using Silverlight 1.1

msdnrss.thecoderblogs.com

November 28. 2007 23:26

pingback

Pingback from crm.discoveryjournal.info

» Extending CRM forms with Managed code using Silverlight 1.1 Microsoft CRM Development Information: Information and Research on Microsoft CRM Development

crm.discoveryjournal.info

November 29. 2007 04:37

trackback

Trackback from Microsoft Dynamics CRM Team Blog

Developing CRM Form logic using Silverlight 1.1 Managed Code

Microsoft Dynamics CRM Team Blog

November 29. 2007 05:13

trackback

Trackback from Noticias externas

Developing CRM Form logic using Silverlight 1.1 Managed Code

Noticias externas

November 29. 2007 07:07

pingback

Pingback from msdnrss.thecoderblogs.com

MSDN Blog Postings » Developing CRM Form logic using Silverlight 1.1 Managed Code

msdnrss.thecoderblogs.com

November 29. 2007 12:21

Gravatar

Arash, I got just as excited as you about the potential for leveraging Silverlight in just this way. But I came to a full stop when I realized that it could not work for clients disconnected from the server. Thus, it would be a mistake to deploy critical business logic this way in implementations with any offline clients. Any thoughts on this?

Chris Rogers

November 29. 2007 14:06

Gravatar

Hi Chris
If you change the IFrame URL to point to the localhost where CRM offline server is installed and copy the files into the client, it should work offline. There might even be a way to use CRM customization to deploy the bits.....

Arash

November 29. 2007 19:04

Gravatar

var control = window.frames['IFRAME_HiddenSL'].document.getElementById("SilverlightControl");
alert(control);

Message is null. Why? I use CRM 3.0 and SLCRM make as Web-site on port 88888

Alex

December 3. 2007 01:08

Gravatar

It goot post. I had bad installation. I reinstall SL 1.1 and in work! thx

Alex

December 11. 2007 05:17

trackback

Trackback from US ISV Developer Evangelism Team

Developing Microsoft Dynamics CRM Form logic using Silverlight 1.1 Managed Code

US ISV Developer Evangelism Team

December 11. 2007 05:26

trackback

Trackback from Noticias externas

Developing Microsoft Dynamics CRM Form logic using Silverlight 1.1 Managed Code

Noticias externas

December 11. 2007 05:34

pingback

Pingback from crm.discoveryjournal.info

» Developing Microsoft Dynamics CRM Form logic using Silverlight 1.1 Managed Code Microsoft CRM Development Information: Information and Research on Microsoft CRM Development

crm.discoveryjournal.info

December 11. 2007 06:14

pingback

Pingback from absolutely-people-search.info

Free People Searches » Developing Microsoft Dynamics CRM Form logic using Silverlight 1.1 Managed Code

http://www.absolutely-people-search.info/?feed=rss" rel="nofollow">http://www.absolutely-people-search.info/?feed=rss2" rel="nofollow">http://www.absolutely-people-search.info/?feed=rss" rel="nofollow">http://www.absolutely-people-search.info/?feed=rss2" />
http://www.absolutely-people-search.info/?feed=rss" rel="nofollow">http://www.absolutely-people-search.info/?feed=rss" />
http://www.absolutely-people-search.info/?feed=atom" rel="nofollow">http://www.absolutely-people-search.info/?feed=atom" />
http://www.absolutely-people-search.info/xmlrpc.php" rel="nofollow">http://www.absolutely-people-search.info/xmlrpc.php" />
http://www.absolutely-people-search.info/xmlrpc.php" rel="nofollow">http://www.absolutely-people-search.info/xmlrpc.php?rsd" />








12.10.07

http://www.absolutely-people-search.info/?p=5399" rel="bookmark" title="Permanent link to Developing Microsoft Dynamics CRM Form logic using Silverlight 1.1 Managed Code">Developing Microsoft Dynamics CRM Form logic using Silverlight 1.1 Managed Code

Posted in http://www.absolutely-people-search.info/?cat=1" title="View all posts in Uncategorized" rel="category tag">Uncategorized at 3:12 pm by




Untitled 1</p> <p class="author"> <a href="http://www.absolutely-people-search.info/?p=5399">absolutely-people-search.info</a> </p> </div> <div id="id_ce262464-6e6e-4ae1-8159-507d4279d2f6" class="comment"> <p class="date">December 11. 2007 06:53</p> <p class="gravatar"><img class="thumb" src="http://images.websnapr.com/?url=http%3a%2f%2fmsdnrss.thecoderblogs.com%2f2007%2f12%2f10%2fdeveloping-microsoft-dynamics-crm-form-logic-using-silverlight-11-managed-code%2f&size=t" alt="pingback" /></p> <p class="content">Pingback from msdnrss.thecoderblogs.com<br /><br />MSDN Blog Postings » Developing Microsoft Dynamics CRM Form logic using Silverlight 1.1 Managed Code</p> <p class="author"> <a href="http://msdnrss.thecoderblogs.com/2007/12/10/developing-microsoft-dynamics-crm-form-logic-using-silverlight-11-managed-code/">msdnrss.thecoderblogs.com</a> </p> </div> <div id="id_ae298d57-78b3-42fc-bfad-90a1d9012ead" class="comment"> <p class="date">December 14. 2007 02:07</p> <p class="gravatar"><img class="thumb" src="http://images.websnapr.com/?url=http%3a%2f%2fblogs.microsoft.nl%2fblog_van_mark_voermans%2farchive%2f2007%2f12%2f13%2fontwikkel-microsoft-dynamics-crm-form-logica-met-silverlight-1-1-managed-code.aspx&size=t" alt="trackback" /></p> <p class="content">Trackback from ISV blog-voer<br /><br />Ontwikkel Microsoft Dynamics CRM Form logica met Silverlight 1.1 Managed Code</p> <p class="author"> <a href="http://blogs.microsoft.nl/blog_van_mark_voermans/archive/2007/12/13/ontwikkel-microsoft-dynamics-crm-form-logica-met-silverlight-1-1-managed-code.aspx">ISV blog-voer</a> </p> </div> <div id="id_17527c62-c2ab-464a-8c43-5ed48f2cfb0a" class="comment"> <p class="date">April 20. 2008 09:59</p> <p class="gravatar"><img class="thumb" src="http://images.websnapr.com/?url=http%3a%2f%2fdogs-pets.info%2fdog-training%2f%3fp%3d268&size=t" alt="pingback" /></p> <p class="content">Pingback from dogs-pets.info<br /><br />Dog Training » Extending CRM forms with Managed code using Silverlight 1.1</p> <p class="author"> <a href="http://dogs-pets.info/dog-training/?p=268">dogs-pets.info</a> </p> </div> <div id="id_fa22b6b2-4422-4bab-98ea-e517158a5ef8" class="comment"> <p class="date">June 19. 2008 09:01</p> <p class="gravatar"><img class="thumb" src="http://images.websnapr.com/?url=http%3a%2f%2fblogs.msdn.com%2farash%2farchive%2f2007%2f11%2f28%2fextending_2D00_crm_2D00_forms_2D00_with_2D00_managed_2D00_code_2D00_using_2D00_silverlight_2D00_1_2D00_1.aspx&size=t" alt="trackback" /></p> <p class="content">Trackback from Arash Ghanaie-Sichanie Blog<br /><br />Extending CRM forms with Managed code using Silverlight 1.1 </p> <p class="author"> <a href="http://blogs.msdn.com/arash/archive/2007/11/28/extending_2D00_crm_2D00_forms_2D00_with_2D00_managed_2D00_code_2D00_using_2D00_silverlight_2D00_1_2D00_1.aspx">Arash Ghanaie-Sichanie Blog</a> </p> </div> <div id="id_ce226fc4-33e4-4fe7-8b10-3695ca15b6ee" class="comment"> <p class="date">January 19. 2009 21:14</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=e01b0e8df5cd017f0a837d8d93b96ddb&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Este tipo de correo que contengan realmente apreciada y que puede dar idea y el conocimiento para hacerlo .. gracias por compartir este tipo de correo. best regards, busbys</p> <p class="author"> <a href="http://pinayspeak.com/pinaytest/">Busby SEO Test</a> </p> </div> <div id="id_388086f5-bd1d-4dbc-9fec-a47867e5448d" class="comment"> <p class="date">April 15. 2009 05:42</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=da7bcdbba70f8e1647d4c4fdb395df37&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">I came to a full stop when I realized that it could not work for clients disconnected from the server.</p> <p class="author"> <a href="http://comforter-down.blogspot.com/">comforter down</a> </p> </div> <div id="id_87a4445d-3e23-4f7a-9b02-2ebb1242794b" class="comment"> <p class="date">June 23. 2009 05:47</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=ac2d2f877d5ddc2dcb9a8cc634c89a26&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">thanks for taking the time to sharing this with us</p> <p class="author"> <a href="http://newreil.com/tukang-nggame/">Tukang Nggame</a> </p> </div> <div id="id_5aedc628-bb54-4606-9014-1072b6a0c8e2" class="comment"> <p class="date">August 10. 2009 20:38</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=02fd75d57203c30277d9eb53a8f16f05&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">it's very informative post.... tnx a lot for the info.....good luck............</p> <p class="author"> <a href="http://www.thebuildingdirectory.com.au/">edler</a> </p> </div> <div id="id_88dafeb3-8930-48d2-b15b-150b41a08a3d" class="comment"> <p class="date">August 20. 2009 05:08</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=24fa062c1f53bc27718e07cb683d7922&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Hi, thanks for sharing a nice information. A very informative post.</p> <p class="author"> <a href="http://www.carte-di-credito-online.com/">Carta credito</a> </p> </div> <div id="id_04f82db5-ae8a-4c4d-b5d5-6442bb56f553" class="comment"> <p class="date">October 18. 2009 09:02</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=f215e8101c49289b4776595f35d19abc&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">great article. thanks for sharing this.</p> <p class="author"> <a href="http://blog.newreil.com/seo-contest/kerja-keras-adalah-energi-kita.html">Kerja Keras Adalah Energi Kita</a> </p> </div> <div id="id_3171237b-58cb-486c-9ae4-a18a5084bcde" class="comment"> <p class="date">October 26. 2009 01:36</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=f0677492d71839b245ea48068b68ae34&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Thank you for share this article. I will bookmark it.</p> <p class="author"> <a href="http://www-studentloansconsolidation.com/">Student Loans Consolidation</a> </p> </div> <div id="id_1ba0c719-d163-4c59-9de9-7eb2612c83f2" class="comment"> <p class="date">October 27. 2009 01:35</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=49ab62f64c6fabc1586027f2f3b76de1&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Blog walking :)</p> <p class="author"> <a href="http://im.stillalone.com/newbie/kerja-keras-adalah-energi-kita/">kerja keras adalah energi kita</a> </p> </div> <div id="id_f5a10873-47d8-4d58-a8c0-2caf9a6df0b4" class="comment"> <p class="date">October 28. 2009 07:55</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=49ab62f64c6fabc1586027f2f3b76de1&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">comeback... here :)</p> <p class="author"> <a href="http://oestsetnocs.org/">oes tsetnoc</a> </p> </div> <div id="id_8d7686d8-a79d-4859-b56f-bba5489100f0" class="comment"> <p class="date">October 28. 2009 07:57</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=49ab62f64c6fabc1586027f2f3b76de1&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">I like this post... was boorkmarked.. thanks.</p> <p class="author"> <a href="http://oestsetnocs.org/">oes tsetnoc</a> </p> </div> <div id="id_eabd344f-35ff-4f8d-a85c-f0d4dfb58646" class="comment"> <p class="date">October 31. 2009 10:48</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=33d417964a435d456fe23f6bed1a5d8b&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">so good broo your tutorial business is very nice i like this site </p> <p class="author"> <a href="http://tips-seo-blog.blogspot.com/2009/10/launching-be-blog.html">launching be-blog</a> </p> </div> <div id="id_2d71b892-6f8b-4a64-9ca7-ae4dbc456091" class="comment"> <p class="date">November 3. 2009 10:33</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=25b307a572400e3a14329786968962d4&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Thanks for the very informative post sir.</p> <p class="author"> <a href="http://investor-relations.1800petmeds.com/petmeds-press-release.html">petmeds</a> </p> </div> <div id="id_76d9d396-5cfd-4f5a-a362-4de8e96e000c" class="comment"> <p class="date">November 10. 2009 08:08</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=b3cb4ecd4a6e891b1ad32a61d46a8a3f&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">CRM is an important part of managing the clients and to add value to them in different ways. Thanks for sharing.</p> <p class="author"> <a href="http://www.bestmedical-malpracticelawyers.com/">Houston medical malpractice lawyer</a> </p> </div> <div id="id_9e535cfd-003d-4062-ba1b-bed1ecab2b67" class="comment"> <p class="date">November 12. 2009 09:30</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=7d6d36a197142030a7667279e0405cac&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">The concept about CRM is really very helpful and would be beneficiary if used. Thanks for sharing this post.</p> <p class="author"> <a href="http://www.aguaesolutions.com/webdesign.html">Canada Web Design</a> </p> </div> <div id="id_99cf01a8-7342-4366-b655-0b7674d62075" class="comment"> <p class="date">November 13. 2009 13:05</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=b3cb4ecd4a6e891b1ad32a61d46a8a3f&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Customer relationship management is very important in the current era and adding the CRM form using SilverLight will solve your problem. Thanks</p> <p class="author"> <a href="http://www.premieregoldparties.com/">gold parties</a> </p> </div> <div id="id_dedcba80-1d64-49c1-8299-9acaee875897" class="comment"> <p class="date">November 13. 2009 18:13</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=214bc52f7bd407275e6f6ce47c88fcfa&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Adding the CRM will increase the business functionality to create more values for their clients. Thanks</p> <p class="author"> <a href="http://www.smoothsynergy.com/">laser hair removal nyc</a> </p> </div> <div id="id_236c8e79-eb14-475c-917d-979e5b1a6b43" class="comment"> <p class="date">November 15. 2009 13:51</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=0bf6bc33f120eab0db9c720b72889cfd&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">CRM has increased to business capability to manage customers easily. You can easily add client side logic to CRM forms using the codes of Silverlight. Thanks</p> <p class="author"> <a href="http://www.frames4sale.com/">Michael</a> </p> </div> <div id="id_69ada963-1850-4d52-b737-0ab09cd426cd" class="comment"> <p class="date">November 17. 2009 07:38</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=ca492a77ccc5082abbe989faf9ef99ea&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Well if we want to create value for our customers then we must use the Customer Relationship management for that. That's really good idea.</p> <p class="author"> <a href="http://www.bestspinal-cordinjurylawyers.com/">Houston spinal cord injury lawyer</a> </p> </div> <div id="id_952dfb90-c7e4-4fc5-9c44-4c28a1f47601" class="comment"> <p class="date">November 19. 2009 10:41</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=0f5074bf37bb44e2e705f8af193f45c3&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">CRM is new concept to manage the customers by keeping their information saved in order to create more value for them. Thanks for sharing.</p> <p class="author"> <a href="http://www.pragmites.com/">Outsource Link Building</a> </p> </div> <div id="id_2c57ddbe-efe4-44b5-879b-43580e565c50" class="comment"> <p class="date">November 22. 2009 16:02</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=fe136055f320f56bde5c1427d39b371b&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">The information in the post is nicely written about CRM, we need to focus on it to get competitive advantage, I always love to read this kind of stuff. The quality of content is really appreciable. Thanks for sharing your knowledge with us. </p> <p class="author"> <a href="http://www.facebook.com/pages/Garden-City-NY/NAPW-Inc/86092212700?v=info-">NAPW</a> </p> </div> <div id="id_6f0a085f-8b59-42fc-8b93-828c8a155f35" class="comment"> <p class="date">November 22. 2009 17:52</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=f312e68773e6ff7a6476347f1d38f80d&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Hey that's some cool code, thanks for the info! </p> <p class="author"> <a href="http://weightlosssteps.com/">weight loss steps</a> </p> </div> <div id="id_d0016e72-a7a1-4e3c-8922-2b2a618843c5" class="comment"> <p class="date">November 22. 2009 17:55</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=7d0d178a0b6154ff848d1facfa5b62b3&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Thanks for that great post. Loads of info I can sure use, thanks again!</p> <p class="author"> <a href="http://weightlossgenius.com/">weight loss tips</a> </p> </div> <div id="id_827b4ebd-6317-4781-bf81-a3cf8bed761f" class="comment"> <p class="date">November 22. 2009 17:57</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=7f77f6a83d2d663237852189ce8df267&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Well I must say, that was a real eye opener. Thanks for the code examples!</p> <p class="author"> <a href="http://lazyweightloss.com/">weight loss tips</a> </p> </div> <div id="id_7c06639b-405b-4b32-b85d-85ec239ba383" class="comment"> <p class="date">November 22. 2009 17:59</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=c9f870185997cc2a519b4c881f9f9379&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Those were some cool code examples buddy, thanks for sharing them with us!</p> <p class="author"> <a href="http://thezonediets.com/">the zone diets</a> </p> </div> <div id="id_eaa9efdc-a9f6-425d-8cad-0cb92b08500a" class="comment"> <p class="date">November 22. 2009 18:00</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=1d4fa298e8c39007d9a14c05237ab27b&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Now that's what I call useful. Thanks for the code snippets man!</p> <p class="author"> <a href="http://nutrisystemcost.com/">The Nutrisystem Cost</a> </p> </div> <div id="id_2f72b1c7-00ab-40cc-b0b9-b3d0664067bc" class="comment"> <p class="date">November 22. 2009 18:02</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=60537296f5ce2e4f92d3c5c97ba224ef&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Thank you for sharing those very cool pieces of code, they'll come in real handy!</p> <p class="author"> <a href="http://alt-cures.com/">Alternative cures</a> </p> </div> <div id="id_6b4ca1cb-1017-463b-85ee-4735d0b7debe" class="comment"> <p class="date">November 22. 2009 18:03</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=f2f76ba44d8f9983c29b52c54ea97d8c&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Great post and so much info crammed in there, thanks!</p> <p class="author"> <a href="http://health-image.com/">Health Image</a> </p> </div> <div id="id_69006a1b-42b6-4e16-9a23-7f63586d6706" class="comment"> <p class="date">November 22. 2009 18:04</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=55cd055c826c972b85a17da4f1ad0242&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Cool post. I'm not sure how I can make use of the code examples right now, but I'll sure think of something, thanks!</p> <p class="author"> <a href="http://forwardersins.com/">freight forwarders USA</a> </p> </div> <div id="id_f0f2d35c-2586-437e-b364-598fdcb7efd6" class="comment"> <p class="date">November 22. 2009 18:05</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=b1456033114bedd4a1cc99c428410fe1&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Gotta love that code man, its really cool to see you give it away like that!</p> <p class="author"> <a href="http://chevrolettrucksonline.com/">Chevrolet truck parts</a> </p> </div> <div id="id_deccf435-20ba-495b-a40d-6352f96b5422" class="comment"> <p class="date">November 22. 2009 18:06</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=cac9edfffaa257f2960521d51cd2fe73&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Loved the code examples dude. They'll help me a lot when I'm putting my stuff together later!</p> <p class="author"> <a href="http://transportationbrokerage.com/">Transport Brokers</a> </p> </div> <div id="id_9541f4b6-3737-43b6-b227-da9345122f48" class="comment"> <p class="date">November 22. 2009 18:07</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=24fa524cc5efb2429709ae31ff99d5ef&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Cool post, thanks for sharing your knowledge with us!</p> <p class="author"> <a href="http://moneyhints.com/">make money online SEO</a> </p> </div> <div id="id_d739fbce-9c90-474b-bcbf-04ca1ac1219f" class="comment"> <p class="date">November 22. 2009 18:08</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=542fc880410238bbd161332eb63ffd12&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">Hey, thank you for that great article and all the really useful examples.</p> <p class="author"> <a href="http://thehonestway.com/">make money online</a> </p> </div> <div id="id_e42eead6-de55-4162-95cc-3b2968476df1" class="comment"> <p class="date">November 22. 2009 18:09</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=3afc9b30dfa54182d64c9bc74eac7707&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">That's a great post, thanks for the info!</p> <p class="author"> <a href="http://makeblogmoney.com/">make money blogging</a> </p> </div> <div id="id_d279f305-31a4-437e-98e4-3a4013f32da9" class="comment"> <p class="date">November 22. 2009 20:40</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=cb409a1d59d3d252ec6c0bae3ef656b2&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">as a new learner of website and seo, your post is a little complicated for me.but anyway, thanx for sharing your great ideas with all of us. continue your great job, and always gain my support!</p> <p class="author"> <a href="http://www.tiffanyonlinestore.us/">tiffany jewelry</a> </p> </div> <div id="id_c69542d7-7f9f-4ff1-aad1-9bdd6df4ed74" class="comment"> <p class="date">November 22. 2009 20:44</p> <p class="gravatar"><img src="/pics/pixel.gif" style="background: url(http://www.gravatar.com/avatar.php?gravatar_id=cb409a1d59d3d252ec6c0bae3ef656b2&size=80&default=http%3a%2f%2fblog.arash.cc%2fthemes%2fLeaves%2fnoavatar.jpg)" alt="Gravatar" /></p> <p class="content">your efforts are appreciated by us and both of your post and site are really great. thanx for your sharing with all of us. continue your great job, and always gain my support!</p> <p class="author"> <a href="http://www.tiffanyonlinestore.us/">tiffany jewelry</a> </p> </div> </div> <span id="ctl00_cphBody_CommentView1_lbCommentsDisabled">Comments are closed</span> </div> <!-- google_ad_section_end --> <div id="footer"> <p>Powered by <a href="http://www.dotnetblogengine.net/" target="_blank">BlogEngine.NET</a> 1.1.0.7 | Original Design by <a href="http://smallpark.org">SmallPark</a>, Adapted by <a href="http://www.nyveldt.com/blog/">RazorAnt</a></p> </div> </form> </div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2045581-4"; urchinTracker(); </script> </body> </html>