Your extension will be available shortly on the Visual Studio Marketplace at this link.



Serenity is an ASP.NET MVC / TypeScript application platform designed to simplify and shorten development of data-centric business applications with a service based architecture. Serene is a starter template to build Serenity applications.

5 Star
Visual Studio
2017, 2015, 2013, 2012
Download (392,729)
E-mail Twitter Digg Facebook
Add to favorites
Sign in to write a review
Sort by:

5 Star
by Vinay B Kulkarni | November 04 2016

Just awesome,
Documentation is well written with examples...

5 Star
by wirble | November 03 2016

I have been using and testing this for about three weeks. So far I have been very impressed with this template and what Volkan had done. I am able to create a fairly complex form or atypical required form in a large departmental settings with relative ease. Out of the box, it creates very functional form data entries. I am able to configure it with decorators,hide and un-hide fields easily. I can probably meet 90 percent of all form data entry requirements with this tool. It can also generate excel and pdfs from html. The template is very structured and intuitive to learn. It's quite impressive.

The other 10 percent is where you need to modify it if you want to add things like workflows, ajax and web services lookup with autocomplete, generating pdf from server side with emails.

If your company needs lots of online forms, this is the tool to use.

5 Star
by 小拖 | October 05 2016

What‘s the password of admin?

Volkan Ceylan October 05 2016
| Edit |

it's "serenity" by default, please use Q&A for questions.

5 Star
by jlin423 | September 26 2016

Great framework, made development of our app faster

Volkan Ceylan September 28 2016
| Edit |

Thanks, but why changed previous review? I even used that one in :)

5 Star
by P1xelF1end | September 08 2016

Great work! Such a time saver!

5 Star
by IzzetYildirim | September 06 2016

5 Star
by mijaved | August 28 2016

Its a complete solution for rapid development of CRUD application.
and gets itself updated with new technologies.

5 Star
by WalTor | August 26 2016

Good job dude! I´m using your template for several projects, this template is a lifesaver.


5 Star
by blojayble | August 24 2016

Amazing template, amazing author!
Thank you, I hope to contribute to the project in the future.

5 Star
by fazardx | August 23 2016

fuck you, you have awesome template.. great job, salute for you..

5 Star
by RazorPx | August 01 2016


5 Star
by BravoSierra | July 25 2016

Excellent, it might be a replacement for Lightswitch projects. The tutorial is very well done, thanks.

5 Star
by MxChandler | July 23 2016

This is by far the best template for developing simple to complex web applications that look just as good on mobile as the desktop. I am totally impressed with the documentation, ease-of-use, and selection of underlying tech. This guy is "bad-ass" and I owe him for saving me from a lot of work under tight deadlines.

Some things are so good you don't want everyone to know about them ;)

I enjoy his commentary on Q And A as well. I would enjoy meeting the author someday!

5 Star
by M Lutzow | July 16 2016

+ Top notch application template.
+ Excellent documentation and tutorials that are frequently updated.
+ Frequent updates and enhancements to the product which work well with user written application.
+ Excellent support provided.

This template is superb, I've been using proprietary languages to code for the last number of years and am moving into newer technologies for development purposes. After reviewing multiple options to start with (both commercial and open source) I decided to use the SERENE Template. I consider this the best decision I could have made.

Having zero experience with C#, ASP.NET MVC 5, TypeScript and a number of the other tools used with this platform the well maintained documentation, provided tutorials, samples, and assistance from Mr. Volkan Ceylan and the user base of this product has lowered my learning curve and has broken some of those walls we all run into when using a new toolset.

Excellent product, outstanding support and documentation. Thank you for a superb product to use.

5 Star
by frankolo85 | July 15 2016

5 Star
by Clyde Kent | July 13 2016

Absolutely top notch!

5 Star
by Nobatgeldi | July 08 2016

5 Star
by zakaj | June 21 2016

This project sample is great, but i'm pretty sure a virus got attached to this project file somehow. They need to look into it because I've restored my computer 3 times and every time I download this file my sql server authorization services stop working, and also Norton antivirus keeps catching stuff after I download this file.

Volkan Ceylan June 22 2016
| Edit |

And I'm pretty sure its a false alarm.

5 Star
by mh5775 | June 19 2016

best asp application template
saving lot of time and effort to start a new web application
thank you

5 Star
by HoangITK | June 17 2016

1 - 20 of 71 Items   
Sign in to start a discussion

  • filtering data
    3 Posts | Last post October 05, 2016
    • I have two questions :
      first : I am trying to create tabbed dialog like the one showing customer orders ..... but it's like trying to show all orders for certain product in product dialog tab
      it's all done but i have problem filtering data because it's not a direct relation between product and order .... so i can't filter orders by product id 
      second : it's same like the issue you have here
      and i was able to follow your hints
      " Add department or use role table, and add a screen where user can set which product categories are visible to which department / roles. Then filter products based on this information. "
      but i am stuck at selecting the categories(many not one) and filter the products based on them
      if there a sample or example that will be great
    • first: you need to use exists filter than, but have no sample
      second: it's a sample in todo list
    • I am sorry to ask again 
      second problem solved thank you
      but the first one still a problem
      I followed your code to add order tab to customer (direct relationship) but i am doing it like adding tab in product dialog with its orders ( indirect relationship with orderdetails table in the middle
      I added the ts files .... tab in html loaded ALL orders in new tab within products dialog
      I just can't access productid field in orderdetails to filter my orders based on the product i am displaying its information
      any help to access or filter my orders based on productid will be very appreciated 
  • How do I set a query timeout
    4 Posts | Last post October 04, 2016
    • Thanks for the good work.
      I am trying to fetch records from a large database. The connection is timing out before retrieving records. How do I increase the time out.
    • I suggest you fix the issue with indexes, or decide why you need to fetch so many records at once. Anyway, for this you need to set CommandTimeout property of an SqlCommand.
    • Thanks Volkan, 
      How do you set the commandTimeout for sqlcommand in serenity template?
    • You can't simply if you are using a list handler etc. For that need to override ExecuteQuery and intercept where SqlCommand is created but not simple. Otherwise you need to create an SQL command object, set its timeout, and execute query in traditional way. I'll probably add an option to override default timeout in a later version.
  • Dynamice the Grid data by clicking a button outside Grid
    3 Posts | Last post October 04, 2016
    • Dear Volkan,
      I want to dynamically update the grid's data through clicking one button outside of the Grid. So I want to find the widget first then call Widget's setItems method. 
      How can I do, do you have similar samples for reference? 
      I try to use similar statement as described in your Guide: 
      var myWidget = $('#SomeDiv').TryGetWidget<MyCoolWidget>();
      But I don't know how to use it. Can you advise it?
    • $('#someDiv').tryGetWidget(MyGrid);
    • It's great!
      Many thanks.
  • Using a GridEditor when a linking table is involved
    3 Posts | Last post October 03, 2016
    • I'm interested in showing a grid of child records within a parent's form, such as on the Order Form in the Northwind sample (with order details as the child records) and in your Movie / MovieCast example here:
      This works great with a direct parent-->child relationship.  
      However, for me I often have linking tables involved (for example, something like Movie, MoviePerson, and Person, with MoviePerson as the linking table) and am not sure how to approach this using the GridEditor in that instance. So that in my example, in the Movie form I could have a grid with the related Person records for that Movie?  
    • MovieCast is also a linking table. So it doesn't change for person. You just bring person fields through left joins.
    • Ah yes, that makes sense.  Working great now, thanks.
  • HttpRequest of JSON
    2 Posts | Last post October 03, 2016
    • Hi Volkan, 
      I'm trying to get a json via httprequest object class in c# (with a simple webform application) of the list of XYZTable contained in Serenity.
      The only thing I can't get through is the authentication, in fact the request of the list get blocked cause there's no authentication:
          private void test()
              CookieContainer cookieJar = new CookieContainer();
              HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://***website***/Account/Login?ReturnUrl=%2f");
              request.CookieContainer = cookieJar;
              request.ContentType = "application/json";
              request.Accept = "application/json";
              request.Method = "POST";
              using (var streamWriter = new StreamWriter(request.GetRequestStream()))
                  string json = "{\"Username\":\"admin\"," +
              HttpWebResponse response = (HttpWebResponse)request.GetResponse();
              string result;
              using (var streamReader = new StreamReader(response.GetResponseStream()))
                  result = streamReader.ReadToEnd();
              Label1.Text = result;
              int cookieCount = cookieJar.Count;
              string sURL;
              sURL = @"http://***website***/Module/XYZRow";
              WebRequest wrGETURL;
              wrGETURL = WebRequest.Create(@sURL);
              WebProxy myProxy = new WebProxy("myproxy", 80);
              myProxy.BypassProxyOnLocal = true;
              wrGETURL.Proxy = WebProxy.GetDefaultProxy();
              Stream objStream;
              objStream = wrGETURL.GetResponse().GetResponseStream();
              StreamReader objReader = new StreamReader(objStream);
              //read of the stream
      Any advice?
  • paging
    2 Posts | Last post September 28, 2016
    • hi,
      in grid view paging system there is any option to enter a page number then directly going to that page and also search option is only for string type of data?
      thank you!
    • You should press ENTER after changing page number. Search option also works with other types to some extent.
  • Demo Site Down?
    2 Posts | Last post September 28, 2016
    • Hi 
      Do you know when the demo site is going to be back online?  I only see Azure details but I think it was working earlier last week.
    • It's provided by some community member. Expecting an update from him.
  • lookup strange behavior
    2 Posts | Last post September 26, 2016
    • application is hosted in godaddy
      and in the last 3 months i faced a problem 3 or 4 times in lookup dropdown in dialog
      sometimes when i add a city it doesn't show for few hours in the lookup
      and today it was more strange all lookup drop down stopped showing any values from city table except one
      the problem happens for few hours then everything is ok again
      i think it's related to some kind of caching ..... application or hosting .... not local pc site caching because it happens in different computers in different locations at same time
      is there a way to clear or disable caching for lookup scripts ?
    • Set Expiration parameter to negative value.
  • Dialog Size
    4 Posts | Last post September 26, 2016
    • Hi, I created a new dialog type but for some reason the size calculation is a little small.  Is there an easy way to set minimum height and width?  I can't seem to figure out how size is calculated with any of the samples.
    • See site.northwind.less
    • Great thanks for the help!
    • Working great but hit another snag.  I have a custom dialog with a TextAreaEditor that I would like to stretch the text to fill the dialog.  I've tried following dialog examples but the only way i can increase the rows is by using the attribute row that is fixed.  Is there a way to tell the TextArea to stretch both width and height?
  • In Row class, what determines the linked table?
    4 Posts | Last post September 24, 2016
    • When I'm working on or editing a Row class in Serenity, what determines the corresponding SQL table it maps to?  
      For instance, the Northwind database has the CustomerRow class, and in the definition of it there's an attribute that reads '[ConnectionKey("Northwind"), DisplayName("Customers"), InstanceName("Customer"), TwoLevelCached]'-- what does the InstanceName("Customer") bit do? Does that link this class to the Customer table?
      There's also the corresponding RowFields class that makes a base("Customers") call. Is that what ties the CustomerRow class to the Customer table? 
    • Please read mapping topic in guide
    • Ah, here it is, thanks:
      So it's convention-based.  But is it required in RowFields to then call base("Customers") if you're using the convention?
    • Why rely on convention, if code generator can generate it for you
61 - 70 of 643 Items