Preferred calendar for ASP.NET - javascript

I search a good calendar for my business application.
The Microsoft ASP.NET calendar is perfect for my requirement, but I heard that this component is not longer supported by Microsoft. My apprehension is that I must in the near future program a new one.
Should I use a jQuery calendar ? Can I use a future-proof library ?

Why not the Calendar control from Ajax Control Toolkit?
http://www.asp.net/ajax/ajaxcontroltoolkit/samples/calendar/calendar.aspx
Also why take a calendar control very seriously ;-)?? If they stop support or change something its not going to be a show stopper. you will be able to update/change easily.

you might want to design your own interface or decade class to be future-proof. i think nothing is certain in this world. In my project, jquery UI is used but i treat it as normal textbox with certain input-format string. You might want to create a custom user control in ASP .NET, therefore even you change the front end UI with correct format; nothing need to be changed to C# code.
In my opinion, it is always adding a decade to 3th part component.

Take your pick from one of these jQuery Calendar plugins.

Calendar Extender AJAX Control Toolkit for ASP.Net 2.0 framework provides AJAX-based client-side functionality to choose the date of the extender control popup calendar.

Related

Are there any decent .NET MVC frameworks for building rich AJAX applications?

I'd like to build an application(s) with rich ajax-based user interface. Key UI features would be:
Realtime data saving (incomplete data that user typed in forms should
be saved server side)
Realtime validation (fields should be validated, sometimes validated using server side
check, when lost focus)
Handling URL navigation (with URL # fragment) and browser back
button
No page reloading
So in general I'd like the kind of UI like in google applications, wunderkit, asana.
My application will have a lot of forms, lot of input fields and will have to deal with lot of data including file uploads. The previous version of the application use ASP.NET-MVC3 and ajax is used only in form of few dedicated modules.
The requirement is to build it in .NET and I can't image using anything else than ASP.NET-MVC.
The question is: Is there any decent framework for building such appliactions with .NET MVC 4 or should I rather start building it myself?
UPDATE:
I know there's lot of jQuery plugins for each of ajax UI features. I'm looking for some kind of base for rich ajax applications where these plugins are already chosen. Although I'm starting to realize that maybe creating this base by myself is a better idea.
Sometimes it's not "invent the wheel again" out there exist so many javascripts libraries to help you. the level of abstraction you're looking for, you don't find something, at least good.
I always do custom libraries who adapts to the design and keeps the pattern who wants the client to re-use (DRY), remember that not everybody wants the same user interface flow
Just about everything you're asking about can be found in a jQuery plugin.

Calendar with Outlook like functionality

I am trying to do the following for managing appointments.
When the user opens the app, show him a calendar control which will fetch his schedule from the sql server database. If the user is scheduled to meet Mr. A,X and Z on 15th, then the calendar control should display three links in that calendar for that particular day. Clicking on these links will take the user to the details of the person he is supposed to meet. Similarly do for other dates too.
I can use ASP.NET, AJAX, jQuery anything. Are you aware of any existing project or code that exists for the same?
a fully existing project you will not find no,
but you can however use jquery and its vast plugin database for some of your front end functionalities.
however this would just be a small help, as you would still need to do many manual coding,
this just shows a calendar with data. if you provide the data of course.
all server side code would still be your work and possibly the custom front end stuff too, login system, clicking the link opening the calendar on the right spot. etc etc.
if you are interested in doing it this way,
here is a hand full of calendar plugins you could use
ical calendars
Plans
FullCalendar
these are just a few, you can find many more on the net
if you choose not to take this path, there are probably serverside controls you could use,
like telerik's rad Calendar, of course this option comes with a price. i have no knowledge of free alternatives (and defenately not whether those are as flexible as previously mentioned solutions)
telerik.com RadScheduler. I use it alot and its pretty good an flexible. You can do your links scenario with either their Appointment Template or the new jQuery templates.

What Javascript framework is best for this situation?

I want to build a contact list in js, but there are so many js technologies like backbone.js, spine.js, knockout.js, etc. that I dont really know which one is best for me.
My contacts have a few overarching types: FacebookUser, User, and UserList. The catch with userlist is that it is a collection of users or UserLists. Furthermore, it itself may or may not have its own contact information (like a company or a team).
I want to display this list in a tree-view where you can drill down into UserList (and have the group members lazy loaded).
Lastly, the entire contact list is an instance. What I mean is that you have have 0-n number of contact lists open in the same window at a time.
What framework should I use for this situation?
All three of the libraries that you mention (backbone.js, spine.js, knockout.js) are aimed at single-page browser apps.
But your description of your problem sounds more like a formatting issue, not data management. Ie, you want your page to show the data. You don't need to save changes from your page back to the server; your users will refresh to the page to show new or different information.
If my understanding of your goal is correct, I'd go with jQuery or YUI. The libs you mention would be overkill.
Added YUI has a nice treeview widget that supports lazy-loading of branches. I use it for that.
If you do decide to use a model layer, YUI 3 includes Model and ModelList. They're based on Backbone api.
Re: MVC comment In a comment, the OP mentions "multiple views on the same data, change propagation, and edit detection (if a user changes a number) and updates from the server"
For those cases, yes, these days many cool kids are using a complete MVC framework on browser itself. If you wish to go in that direction, then you could use any of the three you mentioned. Notes:
Backbone, and probably the other two, do not provide complete MVC. Rather, Backbone supplies the Model & Controller portions, especially the Model. It is common to use Mustache for the View. In addition, it is common to use underscore or jQuery to supply basic facilities. If you Google for backbone examples, many of them include jQuery.
Checkout YUI new y.App. It includes all of the MVC parts in one well documented lib. y.App is in hot development and is based on the Backbone api. A video-cast
MVC Frameworks on the browser are brand new. Don't be surprised by quickly changing library code, inconsistent docs, few examples, etc. You should also consider documenting and posting your investigations. For extra credit, get it working well on mobile browsers.
49 Signals was rumored to be working on a browser-side MVC framework, but we haven't seen anything yet.
I believe that backbone is the most senior of the Model libraries. But it has proven to be confusing to many new users, hence some of the other libs based on its concepts.
Based on my experience with YUI, their Y.app will have the most consistent and complete api set and the best docs.
If we take your specific case, I would strongly go for Knockout.js
Knockout is built for UI i.e. that your data model can be binded to HTML elements and then any changes in the model manipulate the UI accordingly.
In your case the additions/deletions to the contact list will be automatically tackled by Knockout. All you need would be to define the how the changes in the tree view are to be tackled (either by code or by HTML templates) and Knockout will take care of that.
Saying that, defining the treeview of your contact list is still different task altogether and you may need to you use some CSS/JS library for that.

Prototype/Scriptaculous/JavaScript Data Picker control

In a current project we need a calendar control that can display 2 months at a time rather than the standard 1 month. Unfortunately the project is heavily tied to the Prototype API and Scriptaculous, so the option of using jQuery or any other framework is unavailable. So the control needs to be written in Prototype, Scriptaculous or standard JavaScript.
Does anybody know of any such control?
Thanks,
Chris
NOTE: I forgot to mention it originally, but we are tied to the 1.5 version of Prototype.
Would this script be good for your project ?

Is there any client side validation library that is using tooltips to display validation messages?

I need to include client side validation on one of my forms, and the webdesign did not take into account any space for validation messages.
I think using validation tooltips together with some borders around non-valid input controls would do the job, but I am having problem finding any javascript validation that is using tooltips.
Can anyone recommend a solution? Preferably supporting ASP.NET MVC directly, but this is not a strict requirement, I am ready to customize any javascript solution to suit ASP.NET MVC.
I am using castle validator to do server side validation and MvcValidation (http://blog.codeville.net/2008/04/30/model-based-client-side-validation-for-aspnet-mvc/) solution on client side, which uses LiveValidation. This works very nice, but needs some customization to not display the validation messages next to controls.
The jQuery Validation library is one of the most popular choices. For your question, you can override is the errorPlacement call like this:
$('formName').validate({
errorPlacement: function(error, element) {
element.attr("title",error.html())
.addClass("cssClassWithBorder");
}
});
You can read up on the full options list here: Validation plugin options
There are a few toolkits out there, the one most applicable based on your question would be xVal by Steve Sanderson.
Keep in mind that ASP.Net MVC 2 is bringing a lot more to the table in terms of annotations, validation and simplifying the client/server validation duplication of code that's out there now. It's a provider based model and there should be plenty of community providers coming out that may provide more of what you're after.
The default implementation will be based mostly around the jQuery Validation framework (the same as above) in an annotation bubbling way (same attributes way down on the classes for both server and client code)...very similar to how xVal does it. Based on your timelines and flexibility, waiting for MVC 2 may be a better option and less work.
At the time of this answer, MVC 2 RC is the current release for this.
Dijit's form widgets use popup tooltips as well and are compliant with accessible technologies. Look at the docs for dijit.form.ValidationTextBox for examples.
It might be too heavy for your needs, but you might want to take a look at extjs.com as well as jquery if you haven't already.

Categories