Castle.MonoRail.Framework Adapter to expose a valid implementation on top of HttpContext. Basic implementation of Initializes a new instance of the class. Initializes a new instance of the class. The parent. Adds the specified service to the service container. The type of service to add. An instance of the service type to add. This object must implement or inherit from the type indicated by the serviceType parameter. Adds the specified service to the service container, and optionally promotes the service to any parent service containers. The type of service to add. An instance of the service type to add. This object must implement or inherit from the type indicated by the serviceType parameter. true to promote this request to any parent service containers; otherwise, false. Adds the specified service to the service container. The type of service to add. A callback object that is used to create the service. This allows a service to be declared as available, but delays the creation of the object until the service is requested. Adds the specified service to the service container, and optionally promotes the service to parent service containers. The type of service to add. A callback object that is used to create the service. This allows a service to be declared as available, but delays the creation of the object until the service is requested. true to promote this request to any parent service containers; otherwise, false. Removes the specified service type from the service container. The type of service to remove. Removes the specified service type from the service container, and optionally promotes the service to parent service containers. The type of service to remove. true to promote this request to any parent service containers; otherwise, false. Gets the service object of the specified type. An object that specifies the type of service object to get. A service object of type serviceType.-or- null if there is no service object of type serviceType. Gets the service. Determines whether the container has the specified service. true if this instance has service; otherwise, false. Determines whether the container has the specified service. Type of the service. true if the specified service type has service; otherwise, false. Adds the specified service to the service container. An instance of the service type to add. This object must implement or inherit from the type indicated by the serviceType parameter. Creates the specified service running all life cycles for it. The service type. Creates the specified service running all life cycles for it. Service type Gets or sets the parent container. The parent. Gets the parent container. The parent container. Represents an abstraction between the MonoRail API and the ASP.Net API. Returns an . Gets the underlying context of the API being used. Gets a reference to the MonoRail services. The services. Access the session objects. Gets the request object. Gets the response object. Gets the trace object. Access a dictionary of volative items. Gets or sets the current user. Gets the last exception raised during the execution of an action. Returns the application path. Returns the of the the current request. Returns the Items collection from the current HttpContext. Gets or sets the current controller. The current controller. Gets or sets the current controller context. The current controller context. Initializes a new instance of the class. The container. Url information The context. The server. The request. The response. The trace. The session. Gets the underlying context of the API being used. Gets a reference to the MonoRail services. The services. Gets the last exception raised during the execution of an action. Access the session objects. Gets the request object. Gets the response object. Gets the trace object. Returns an . Access a dictionary of volative items. Gets or sets the current user. Returns the of the the current request. Returns the application path. Returns the Items collection from the current HttpContext. Gets or sets the current controller. The current controller. Gets or sets the current controller context. The current controller context. Adapts the ASP.Net HttpFileCollection to MonoRail dictionary Initializes a new instance of the class. The file collection. Determines whether the object contains an element with the specified key. The key to locate in the object. true if the contains an element with the key; otherwise, false. key is null. Adds an element with the provided key and value to the object. The to use as the key of the element to add. The to use as the value of the element to add. An element with the same key already exists in the object. key is null. The is read-only.-or- The has a fixed size. Removes all elements from the object. The object is read-only. Returns an object for the object. An object for the object. Removes the element with the specified key from the object. The key of the element to remove. The object is read-only.-or- The has a fixed size. key is null. Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in array at which copying begins. array is null. index is less than zero. array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. The type of the source cannot be cast automatically to the type of the destination array. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets an object containing the keys of the object. An object containing the keys of the object. Gets an object containing the values in the object. An object containing the values in the object. Gets a value indicating whether the object is read-only. true if the object is read-only; otherwise, false. Gets a value indicating whether the object has a fixed size. true if the object has a fixed size; otherwise, false. Gets or sets the with the specified key. Gets the number of elements contained in the . The number of elements contained in the . Gets an object that can be used to synchronize access to the . An object that can be used to synchronize access to the . Gets a value indicating whether access to the is synchronized (thread safe). true if access to the is synchronized (thread safe); otherwise, false. This class adapts the HttpRequest to a MonoRail IRequest. Represents the request data Reads the cookie. The cookie name. Obtains the params node. From. Validates the input. Gets the accept header. The accept header. Gets the request type (GET, POST, etc) Gets additional path information for a resource with a URL extension. The path info. Gets the raw URL. The raw URL. Gets the URI. The URI. Gets the request URL. Gets the referring URL. Gets the per key. Gets the params which accumulates headers, post, querystring and cookies. The params. Gets the query string. The query string. Gets the form. The form. Gets the Http headers. The Http headers. Indexer to access entries. Gets a value indicating whether this requeest is from a local address. true if this instance is local; otherwise, false. Gets the HTTP method. The HTTP method. Gets the file path. The file path. Gets the user languages. The user languages. Gets the IP host address of the remote client. The IP address of the remote client. Lazy initialized property with a hierarchical representation of the flat data on Lazy initialized property with a hierarchical representation of the flat data on Lazy initialized property with a hierarchical representation of the flat data on The query string node. Initializes a new instance of the class. The request. Reads the cookie. The cookie name. This method is for internal use only Validates the input. Gets the request URL. Gets the accept header. The accept header. Gets the referring URL. Gets a value indicating whether this requeest is from a local address. true if this instance is local; otherwise, false. Gets the request type (GET, POST, etc) Gets the HTTP method (GET, POST, etc). The HTTP method. Gets the URI. The URI. Gets additional path information for a resource with a URL extension. The path info. Gets the raw URL. The raw URL. Gets the file path. The file path. Gets the Http headers. The Http headers. Gets the params which accumulates headers, post, querystring and cookies. The params. Gets the query string. The query string. Gets the form. The form. Indexer to access entries. Gets the per key. Gets the user languages. The user languages. Gets the IP host address of the remote client. The IP address of the remote client. Lazy initialized property with a hierarchical representation of the flat data on Lazy initialized property with a hierarchical representation of the flat data on Lazy initialized property with a hierarchical representation of the flat data on Adapts the to an instance. Exposes methods on top of that are used by unit tests Represents the response data and operations Redirects to url using referrer. Redirects to the site root directory (Context.ApplicationPath + "/"). Redirects to the specified url An relative or absolute URL to redirect the client to Redirects to the specified url An relative or absolute URL to redirect the client to if set to true, sends the redirect and kills the current request process. Redirects to the specified url An relative or absolute URL to redirect the client to The querystring entries Redirects to the specified url An relative or absolute URL to redirect the client to The querystring entries Redirects to the specified url An relative or absolute URL to redirect the client to The querystring entries Redirects to the specified url An relative or absolute URL to redirect the client to The querystring entries as an anonymous dictionary Redirects to another controller's action. The controller name to be redirected to. The desired action on the target controller. Redirects to another controller's action with the specified parameters. The controller name to be redirected to. The desired action on the target controller. The querystring entries Redirects to another controller's action with the specified parameters. The controller name to be redirected to. The desired action on the target controller. The querystring entries Redirects to another controller's action with the specified parameters. The querystring entries as an anonymous dictionary The controller name to be redirected to. The desired action on the target controller. Redirects to another controller's action in a different area. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. Redirects to another controller's action in a different area with the specified parameters. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. The querystring entries Redirects to another controller's action in a different area with the specified parameters. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. The querystring entries Redirects to another controller's action in a different area with the specified parameters. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. The querystring entries as an anonymous dictionary Redirects using a named route. The name must exists otherwise a will be thrown. Route name. Redirects using a named route. The name must exists otherwise a will be thrown. Route name. The route parameters. Redirects using a named route. The name must exists otherwise a will be thrown. Route name. The route parameters. Tries to resolve the target redirect url by using the routing rules registered. if set to true the current request matching route rules will be used. The controller name to be redirected to. The desired action on the target controller. Tries to resolve the target redirect url by using the routing rules registered. if set to true the current request matching route rules will be used. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. Tries to resolve the target redirect url by using the routing rules registered. The desired action on the target controller. The controller name to be redirected to. The routing rule parameters. Tries to resolve the target redirect url by using the routing rules registered. The desired action on the target controller. The controller name to be redirected to. The routing rule parameters. Tries to resolve the target redirect url by using the routing rules registered. The area the target controller belongs to. The desired action on the target controller. The controller name to be redirected to. The routing rule parameters. Tries to resolve the target redirect url by using the routing rules registered. The area the target controller belongs to. The desired action on the target controller. The controller name to be redirected to. The routing rule parameters. Appends the header. The name. The value. Writes the buffer to the browser The buffer. Writes the stream to the browser The stream. Clears the response (only works if buffered) Clears the response content (only works if buffered). Writes the specified string. The string. Writes the specified obj. The obj. Writes the specified char. The char. Writes the specified buffer. The buffer. The index. The count. Writes the file. Name of the file. Creates a cookie. The name. The value. Creates a cookie. The name. The value. The expiration. Creates a cookie. The cookie. Removes a cookie. The name. Gets or sets the status code. The status code. Gets or sets the status code. The status code. Gets or sets the type of the content. The type of the content. Gets the caching policy (expiration time, privacy, vary clauses) of a Web page. Sets the Cache-Control HTTP header to Public or Private. Gets or sets the HTTP character set of the output stream. Gets the output. The output. Gets the output stream. The output stream. Gets a value indicating whether the response sent a redirect. true if was redirected; otherwise, false. Gets a value indicating whether this instance is client connected. true if this instance is client connected; otherwise, false. Gets the urls the request was redirected to. The redirected to. Sets the output. The output. Sets the cache policy. The cache policy. Gets the output. The output. Gets or sets the URL info. The URL info. Gets or sets the URL builder. The URL builder. Indicates if a redirected has been issued Initializes a new instance of the class. The current URL. The URL builder. The server utility. The route match. The referrer. Appends the header. The name. The value. Writes the buffer to the browser The buffer. Writes the stream to the browser The stream. Clears the response (only works if buffered) Clears the response content (only works if buffered). Writes the specified string. The string. Writes the specified obj. The obj. Writes the specified char. The char. Writes the specified buffer. The buffer. The index. The count. Writes the file. Name of the file. Redirects to the specified url An relative or absolute URL to redirect the client to if set to true, sends the redirect and kills the current request process. Redirects to url using referrer. Redirects to the site root directory (Context.ApplicationPath + "/"). Redirects to the specified url An relative or absolute URL to redirect the client to Redirects to the specified url An relative or absolute URL to redirect the client to The querystring entries Redirects to the specified url An relative or absolute URL to redirect the client to The querystring entries Redirects to the specified url An relative or absolute URL to redirect the client to The querystring entries Redirects to the specified url An relative or absolute URL to redirect the client to The querystring entries as an anonymous dictionary Redirects to another controller's action. The controller name to be redirected to. The desired action on the target controller. Redirects to another controller's action with the specified parameters. The controller name to be redirected to. The desired action on the target controller. The querystring entries Redirects to another controller's action with the specified parameters. The controller name to be redirected to. The desired action on the target controller. The querystring entries Redirects to another controller's action with the specified parameters. The controller name to be redirected to. The desired action on the target controller. The querystring entries as an anonymous dictionary Redirects to another controller's action in a different area. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. Redirects to another controller's action in a different area with the specified parameters. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. The querystring entries Redirects to another controller's action in a different area with the specified parameters. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. The querystring entries Redirects to another controller's action in a different area with the specified parameters. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. The querystring entries as an anonymous dictionary Redirects using a named route. The name must exists otherwise a will be thrown. Route name. Redirects using a named route. The name must exists otherwise a will be thrown. Route name. The route parameters. Redirects using a named route. The name must exists otherwise a will be thrown. Route name. The route parameters. Tries to resolve the target redirect url by using the routing rules registered. The controller name to be redirected to. The desired action on the target controller. if set to true the current request matching route rules will be used. Tries to resolve the target redirect url by using the routing rules registered. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. if set to true the current request matching route rules will be used. Tries to resolve the target redirect url by using the routing rules registered. The controller name to be redirected to. The desired action on the target controller. The routing rule parameters. Tries to resolve the target redirect url by using the routing rules registered. The controller name to be redirected to. The desired action on the target controller. The routing rule parameters. Tries to resolve the target redirect url by using the routing rules registered. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. The routing rule parameters. Tries to resolve the target redirect url by using the routing rules registered. The area the target controller belongs to. The controller name to be redirected to. The desired action on the target controller. The routing rule parameters. Creates the cookie. The name. The cookie value. Creates the cookie. The name. The cookie value. The expiration. Creates the cookie. The cookie. Removes the cookie. The name. Gets or sets the status code. The status code. Gets or sets the status code. The status code. Gets or sets the type of the content. The type of the content. Gets the caching policy (expiration time, privacy, vary clauses) of a Web page. Sets the Cache-Control HTTP header to Public or Private. Gets or sets the HTTP character set of the output stream. Gets the output. The output. Gets the output stream. The output stream. Gets a value indicating whether the response sent a redirect. true if was redirected; otherwise, false. Gets a value indicating whether this instance is client connected. true if this instance is client connected; otherwise, false. Gets the urls the request was redirected to. The redirected to. Gets the output. The output. Gets or sets the URL info. The URL info. Gets or sets the URL builder. The URL builder. Initializes a new instance of the class. The response. The current URL. The URL builder. The server utility. The route match. The referrer. Appends the header. The name. The header value. Writes the buffer to the browser The buffer. Writes the stream to the browser The stream. Clears the response (only works if buffered) Clears the response content (only works if buffered). Writes the specified string. The string. Writes the specified obj. The obj. Writes the specified char. The char. Writes the specified buffer. The buffer. The index. The count. Writes the file. Name of the file. Redirects to the specified url An relative or absolute URL to redirect the client to if set to true, sends the redirect and kills the current request process. Creates the cookie. The cookie. Gets the caching policy (expiration time, privacy, vary clauses) of a Web page. Sets the Cache-Control HTTP header to Public or Private. Gets or sets the HTTP character set of the output stream. Gets or sets the status code. The status code. Gets or sets the status code. The status code. Gets or sets the content type. The type of the content. Gets the output. The output. Gets the output stream. The output stream. Gets a value indicating whether this instance is client connected. true if this instance is client connected; otherwise, false. Gets a value indicating whether the response sent a redirect. true if was redirected; otherwise, false. Adapts the ASP.Net HttpServerUtility to MonoRail's interface for the same service. Represents utility methods that web servers provide Returns the physical path for the specified virtual path. The virtual path. The mapped path HTML encodes a string and returns the encoded string. The text string to HTML encode. The HTML encoded text. URL encodes a string and returns the encoded string. The text to URL encode. The URL encoded text. URL decodes a string and returns the decoded string. The text to URL decode. The URL decoded text. URL encodes the path portion of a URL string and returns the encoded string. The text to URL encode. The URL encoded text. Escapes JavaScript with Url encoding and returns the encoded string. Converts quotes, single quotes and CR/LFs to their representation as an escape character. The text to URL encode and escape JavaScript within. The URL encoded and JavaScript escaped text. Initializes a new instance of the class. The server. HTML encodes a string and returns the encoded string. The text string to HTML encode. The HTML encoded text. Escapes JavaScript with Url encoding and returns the encoded string. Converts quotes, single quotes and CR/LFs to their representation as an escape character. The text to URL encode and escape JavaScript within. The URL encoded and JavaScript escaped text. URL encodes a string and returns the encoded string. The text to URL encode. The URL encoded text. URL decodes a string and returns the decoded string. The text to URL decode. The URL decoded text. URL encodes the path portion of a URL string and returns the encoded string. The text to URL encode. The URL encoded text. Returns the physical path for the specified virtual path. The virtual path. The mapped path Adapts the ASP.Net session as a simple dictionary for MonoRail Initializes a new instance of the class. The session. Returns an object for the object. An object for the object. Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in array at which copying begins. array is null. index is less than zero. array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. The type of the source cannot be cast automatically to the type of the destination array. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Determines whether the object contains an element with the specified key. The key to locate in the object. true if the contains an element with the key; otherwise, false. key is null. Adds an element with the provided key and value to the object. The to use as the key of the element to add. The to use as the value of the element to add. An element with the same key already exists in the object. key is null. The is read-only.-or- The has a fixed size. Removes all elements from the object. The object is read-only. Removes the element with the specified key from the object. The key of the element to remove. The object is read-only.-or- The has a fixed size. key is null. Gets an object containing the keys of the object. An object containing the keys of the object. Gets the number of elements contained in the . The number of elements contained in the . Gets an object that can be used to synchronize access to the . An object that can be used to synchronize access to the . Gets a value indicating whether access to the is synchronized (thread safe). true if access to the is synchronized (thread safe); otherwise, false. Gets an object containing the values in the object. An object containing the values in the object. Gets a value indicating whether the object is read-only. true if the object is read-only; otherwise, false. Gets a value indicating whether the object has a fixed size. true if the object has a fixed size; otherwise, false. Gets or sets the with the specified key. Delegates to ASP.Net TraceContext. Represents the trace that ASP.Net exposes Logs the specified message on the ASP.Net trace The message. Logs the specified message on the ASP.Net trace The category. The message. Logs the specified message on the ASP.Net trace The category. The message. The error info. Logs the specified message on the ASP.Net trace The message. Logs the specified message on the ASP.Net trace The category. The message. Logs the specified message on the ASP.Net trace The category. The message. The error info. Initializes a new instance of the class. The trace context. Logs the specified message on the ASP.Net trace The message. Logs the specified message on the ASP.Net trace The category. The message. Logs the specified message on the ASP.Net trace The category. The message. The error info. Logs the specified message on the ASP.Net trace The message. Logs the specified message on the ASP.Net trace The category. The message. Logs the specified message on the ASP.Net trace The category. The message. The error info. Enum to identify a http verb Not defined The GET method means retrieve whatever information is identified by the Request-URI. The convention has been established that the GET method SHOULD NOT have the significance of taking an action other than retrieval. The POST method is used to request that the origin server accept the entity enclosed in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. The convention has been established that the POST method will take an action other than just retrieval. Just like a but without returning the body. Query for server options and capabilities. Put an entity into the server Delete an entity from the server Diagnostic trace on server Proxy Connect Decorates an action with a restriction to the HTTP method that is allowed to request it. Constructs a AccessibleThroughAttribute with the specified . The to allow for this action. Checks if the is accessible. The to check. true if is allowed, otherwise false. Checks if the is accessible. The Http Method to check. true if is allowed, otherwise false. Checks it the is accessible from the . THe verbs, http methods, that are allowed. The verb, http method, that is being testing for access. true if the is an allowed method in the otherwise false Converts a to a The http method to convert. The http method as a The Verb to allow. Defines that an action is accessible through AJAX calls, so can generate a JavaScript proxy for it. Method marked with this attribute will be accessible through AJAX calls, and will be able to generate a JavaScript proxy for them. Method marked with this attribute will be accessible through AJAX calls, and will be able to generate a JavaScript proxy for them. A name for the action, on the JavaScript proxy. Useful when dealing with overloaded Ajax actions, as JavaScript does not support function overloading. A name for the action, on the JavaScript proxy. Useful when dealing with overloaded Ajax actions, as JavaScript does not support function overloading. Defines the cache configuration for an action. Custom attributes can implement this interface to have a chance to apply some specific configuration to the Implementors should configure the specified policy. The cache policy. Initializes a new instance of the class. Sets the Cache-Control HTTP header. The Cache-Control HTTP header controls how documents are to be cached on the network. Configures ASP.Net's Cache policy based on properties set cache policy to set From MSDN: Makes the response is available in the client browser History cache, regardless of the HttpCacheability setting made on the server, when the allow parameter is true. When HttpCacheability is set to NoCache or ServerAndNoCache the Expires HTTP header is by default set to -1; this tells the client not to cache responses in the History folder, so that when you use the back/forward buttons the client requests a new version of the response each time. You can override this behavior by calling the SetAllowResponseInBrowserHistory method with the allow parameter set to true. If HttpCacheability is set to values other than NoCache or ServerAndNoCache, calling the SetAllowResponseInBrowserHistory method with either value for allow has no effect. If true, sets the ETag HTTP header based on the time stamps of the handler's file dependencies. If true, sets the Last-Modified HTTP header based on the time stamps of the handler's file dependencies. If true, stops all origin-server caching for the current response. If true, sets the Cache-Control: no-store HTTP header. If true, sets the Cache-Control: no-transform HTTP header. If true, includes the vary:* header in the response when varying by parameters. From MSDN: Sets cache expiration to from absolute to sliding. When cache expiration is set to sliding, the Cache-Control HTTP header will be renewed with each response. This expiration mode is identical to the IIS configuration option to add an expiration header to all output set relative to the current time. If you explicitly set sliding expiration to off (false), that setting will be preserved and any attempts to enable sliding expiration will silently fail. This method does not directly map to an HTTP header. It is used by subsequent modules or worker requests to set origin-server cache policy. Specifies whether the ASP.NET cache should ignore HTTP Cache-Control headers sent by the client that invalidate the cache. This method is provided because some browsers, when refreshing a page view, send HTTP cache invalidation headers to the Web server and evict the page from the cache. When the validUntilExpires parameter is true, ASP.NET ignores cache invalidation headers and the page remains in the cache until it expires. Text to be appended to the Cache-Control HTTP header. Sets the ETag HTTP header to the specified string. The ETag header is a unique identifier for a specific version of a document. It is used by clients to validate client-cached content to avoid requesting it again. Once an ETag header is set, subsequent attempts to set it fail and an exception is thrown. Cache Duration (in seconds) Gets or sets the list of all Content-Encoding headers that will be used to vary the output cache. Specifies a custom text string to vary cached output responses by. Gets or sets the list of all HTTP headers that will be used to vary cache output. When a cached item has several vary headers, a separate version of the requested document is available from the cache for each HTTP header type. Gets or sets the list of parameters received by an HTTP GET or HTTP POST that affect caching. A separate version of the requested document is available from the cache for each named parameter in the VaryByParams collection. Gets or sets the Last-Modified header HTTP header. Gets or sets the Cache-Control: max-age HTTP header. Gets or sets the Cache-Control: s-maxage HTTP header. Gets or sets the Cache-Control must-revalidate or proxy-revalidate HTTP header. Decorates a controller with a different name and optionally an area which the controller belongs to. This is used to override the convention for controller names and to optionally associate a controller with an area name. Constructs a ControllerDetailsAttribute Constructs a ControllerDetailsAttribute with a name for the controller. The specified Controller Name The controller's name The controller's area Gets or sets a value indicating whether the controller does not need a session. Defaults to false. true if sessionless; otherwise, false. The DataBind Attribute is used to indicate that an Action methods parameter is to be intercepted and handled by the . Allowed usage is one per method parameter, and is not inherited. Implemented by attributes that wants to perform some conversion to populate a smart dispatcher action argument. Calculates the param points. Implementors should return value equals or greater than zero indicating whether the parameter can be bound successfully. The greater the value (points) the more successful the implementation indicates to the framework The context. The controller. The controller context. The parameter info. Binds the specified parameters for the action. The context. The controller. The controller context. The parameter info. Creates a with an associated prefix. The prefix must be present in the form data and is used to avoid name clashes. Implementation of and it is used to give the method a weight when overloads are available. The context. The controller instance The controller context. The parameter info Positive value if the parameter can be bound Implementation of and it is used to read the data available and construct the parameter type accordingly. The context. The controller instance The controller context. The parameter info The bound instance Creates the binder. Configures the validator. The validator exposer. The binder. Populates the validator error summary. The validator exposer. The binder. The instance. Binds the instance errors. The validator exposer. The binder. The instance. Gets or sets the property names to exclude. The property name should include the prefix. A comma separated list of property names to exclude from databinding. Gets or sets the property names to allow. The property name should include the prefix. A comma separated list of property names to allow from databinding. Gets or sets a value indicating whether the target should be validate during binding. true if should be validated; otherwise, false. Gets or sets used to indicate where to get the values from The type. Typically . Gets the databinding prefix. The prefix is a name followed by a dot that prefixes the entries names on the source http request. The databinding prefix. Declares that the Controller should enable a DefaultAction method for request processing if no action can be found with the supplied name Constructs a using DefaultAction as the default action name Constructs a using the supplied value as the default action name Gets the default action name Associates a provider that can add dynamic actions to a controller Constructs a associating the supplied type as the action provider. Gets the provider type Decorates a controller associating a implementation with it. More than one can be associated. If more than one filter is associate with an action (or controller and action), the order of execution cannot be predicted. In this case use to define the order of execution. Contract for builders. Builds the filter descriptors. Constructs a FilterAttribute associating the filter type and when the filter should be invoked. When to execute the filter The filter implementation Implementation of . Returns the descriptor for this filter association. Gets the filter implementation type Gets when to run the filter Gets or sets the filter execution order. The lower the value, the higher the priority Associates a helper class with the controller. Contract for builders Builds the helper descriptors. Constructs a with the supplied helperType. The helper type Constructs a with the supplied helperType and a name to be bound to it. The helper type Name bound to the helper. The name will be used on the view to gain access to it implementation. Gets the that describes the helper. The descriptor instance Gets Name bound to the helper. The name will be used on the view to gain access to it Gets the helper type Enables binding of JSON formatted values on POCO objects. The following demonstrates how to bind a JSON querystring value representing a Car object instance to a POCO Car object instance: The querystring: car={Wheels=4,Year=2007,Model='Cheap'} And you want to bind those values to a instance of yours Car class, which looks like this: public class Car { private int wheels, year; private string model; public int Wheels { get { return wheels; } set { wheels = value; } } public int Year { get { return year; } set { year = value; } } public string Model { get { return model; } set { model = value; } } } Using the and the , all you have to do is to mark the method parameter with the attribute, like the following example: public void MyAction([JSONBinder("car")] Car car) Initializes a new instance of the class. Initializes a new instance of the class. The entry key, which is the form or querystring key that identifies the JSON persisted content Calculates the param points. Implementors should return value equals or greater than zero indicating whether the parameter can be bound successfully. The greater the value (points) the more successful the implementation indicates to the framework The context. The controller. The controller context. The parameter info. Binds the specified parameter for the action. The context. The controller. The controller context. The parameter info. A instance based on the JSON values present in the EntryKey or the parameter name. Pendent Allows an attribute to be a binder for the return type Binds the specified parameters for the action. The context. The controller. The controller context. Type being returned. The return value. Binds the specified parameters for the action. The context. The controller. The controller context. Type being returned. The return value. Gets or sets the properties to be serialized. The properties. Pendent Writes the specified value using the writer. The writer. The value. Determines whether this instance can handle the specified type. The type. true if this instance can handle the specified type; otherwise, false. Associates a layout name with a controller. The layout can later be changed using the LayoutName property of the . Contract for builders Builds the layout descriptor. Constructs a LayoutAttribute with the layout names. Constructs a LayoutAttribute with the layout names. implementation. Gets the descriptor that describes the layout. Gets the layout name This is an special filter attribute. It is used to define from where MonoRail should read the localization information to find out the locale of the client. For example, it can use the browser, or a cookie, an entry in the query string (or even in the session) Defines that you want to use a cookie named "locale", but if that fails it falls back to the client's browser locale. Defines a new LocalizationFilter. Location where the localization parameter is stored. Name of the parameter in the store. Key under which the locale value is stored. Location where the locale value is to be stored. True if an exception is to be thrown when a specific culture appears to be incorrect (can't be created). Use client browser defined languages as default. Associates a rescue template with a or an action (method). The rescue is invoked in response to some exception during the action processing. The view must exist in the rescues folder in your view folder Contract for builders Builds the rescue descriptors. Constructs a RescueAttribute with the template name. The view to use in the event of error Constructs a RescueAttribute with the template name and exception type. The view to use in the event of error The exception to match Use a controller to perform any actions on rescue. The view defaults to the rescues views. The controller to use to perform the rescue Use a controller to perform any actions on rescue. The view defaults to the rescues views. The controller to use to perform the rescue The exception to rescue for Use a controller to perform any actions on rescue. The view defaults to the rescues views. The controller to use to perform the rescue The method on the controller to use Use a controller to perform any actions on rescue. The view defaults to the rescues views. The controller to use to perform the rescue The exception to rescue for The method on the controller to use implementation. Builds the rescue descriptors. Gets the view name to use Gets the exception type The controller to use for rescue The method on the rescue controller to use Declares that for the specified class or method, the given resource file should be loaded and set available in the PropertyBag with the specified name. Contract for builders Builds the resource descriptors. Constructs a resource attribute, with the specified name, based on the resource in a satellite assembly. Name the resource will be available as in the PropertyBag Fully qualified name of the resource in the sattelite assembly implementation. Builds the resource descriptors. Gets or sets the Name the of resource that will be available in the PropertyBag. The name. Gets or sets the Fully qualified name of the resource in the sattelite assembly. The name of the resource. Gets or sets the name of the culture. The name of the culture. Gets or sets the name of the assembly. The name of the assembly. Gets or sets the type of the resource. The type of the resource. Associates scaffolding support with a controller. Initializes a new instance of the class. The model/entity that should be implemented Gets the model/entity type The model/entity type. Declares that for the specific method (action) no filter should be applied -- or an specific filter should be skipped. Constructs a SkipFilterAttribute which skips all filters. Constructs a SkipFilterAttribute associating the filter type that should be skipped. The filter type to be skipped Gets the type of the filter. The type of the filter. Gets a value indicating whether [blanket skip]. true if [blanket skip]; otherwise, false. Declares that for the specific method (action) no rescue should be performed. Decorates an action associating a implementation with it. More than one can be associated. If more than one filter is associate with an action (or controller and action), the order of execution cannot be predicted. In this case use to define the order of execution. Contract for builders Builds the transform filter descriptors. Constructs a TransformFilterAttribute associating the transformfilter type. The transformfilter implementation Implementation of . Returns the descriptor for this filter association. Gets the type of the transform filter. The type of the transform filter. Gets or sets the execution order. The execution order. Identifies the cache strategy associated with a view component No cache Always cache the view component output, no varying. Uses a custom key generator that should implement the vary algorithm. Decorates a to associate a custom name with it. Decorates a to associate a custom name with it. Optionally you can associate the section names supported by the . In the code below, the class MyHeaderViewConponent will be referenced as just Header, and it will support the subsections header and footer. Initializes a new instance of the class. The specified ViewComponent's Name Returns true if the section name specified is present on the list of sections. The section name. The component's name Sets the nested sections that this supports. The nested sections names, comma separated. Sets the cache strategy. The cache. Sets the cache key factory. The cache key factory. Decorates a public property in a to have the framework automatically bind the value using the dictionary. By default the property name is going to be used as a key to query the params. You can also use the property to define that a parameter is non-optional. In the code below, the Text parameter will automatically be bound to the header property. If there is no Text parameter, a will be thrown. Simailrly, the optional CssClass parameter will be bound to the CssClass property. No error occurs if there is no CssClass parameter. Initializes a new instance of the class. Initializes a new instance of the class allowing you to override the parameter name to be queried on the dictionary. Overrides the name of the parameter. Gets or sets a value indicating whether a value for this property is required. true if required; otherwise, false. Gets the name of the param. The name of the param. Gets or sets the default value for the parameter. The default. Represents the controller node configuration Used by configurable elements Deserializes the specified section. The section. Initializes a new instance of the class. Deserializes the specified section. The section. Adds an assembly that should be source of controllers. The assembly. Adds an assembly that should be source of controllers. Name of the assembly. Gets or sets the assemblies. The assemblies. Gets or sets the custom controller factory. The custom controller factory. Represents a url mapping Initializes a new instance of the class. Initializes a new instance of the class. The URL. The controller. The action. The area. Deserializes the specified section. The section. Gets the URL. The URL. Gets the controller. The controller. Gets the action. The action. Gets the area. The area. Represents a set of url mappings Deserializes the specified section. The section. Represents a MonoRail extension configuration entry Initializes a new instance of the class. Initializes a new instance of the class. Type of the extension. The extension node. Deserializes the specified section. The section. Gets or sets the type of the extension. The type of the extension. Gets or sets the extension node. The extension node. Represents a set of MonoRail extensions Adds the specified entry. The entry. Deserializes the specified section. The section. Gets the at the specified index. Pendent Gets the SMTP config. The SMTP config. Gets the view engine config. The view engine config. Gets the controllers config. The controllers config. Gets the view components config. The view components config. Gets the routing rules. The routing rules. Gets the extension entries. The extension entries. Gets the custom filter factory. The custom filter factory. Gets the scaffold config. The scaffold config. Gets the url config. The url config. Gets a value indicating whether match host name and path should be used on MonoRail routing. true if it should match host name and path; otherwise, false. Gets a value indicating whether routing should exclude app path. true if exclude app path; otherwise, false. Gets the default urls. The default urls. Gets the services config. The services config. Gets the configuration section. The configuration section. Gets or sets the JS generator configuration. The JS generator configuration. Pendent Adds the library. The name. The main generator. Gets the libraries configuration. The libraries. Gets the default library configuration. The default library. Configures a JS generator for specific JS library Initializes a new instance of the class. The configuration. The config. Adds an extension. Type of the extension. Sets the browser validator provider for the library The browser validator provider. Sets this JS library as the default one. Gets the element generator. The element generator. Configures the element section of the library config Initializes a new instance of the class. The builder. Adds an element only extension. Type of the extension. Go back to the main library configuration Configuration for JS generation for an specific JS library Initializes a new instance of the class. The name. The main generator. Gets the name. The name. Gets the main generator. The main generator. Gets the main extensions. The main extensions. Gets the element extension. The element extension. Gets or sets the browser validator provider. The browser validator provider. Represents the MonoRail external configuration Initializes a new instance of the class. Pendent Gets the config. Deserializes the specified node. The node. Gets the SMTP config. The SMTP config. Gets the view engine config. The view engine config. Gets the controllers config. The controllers config. Gets the view components config. The view components config. Gets the routing rules. The routing rules. Gets the extension entries. The extension entries. Gets the custom filter factory. The custom filter factory. Gets the scaffold config. The scaffold config. Gets the url config. The url config. Gets or sets the JS generator configuration. The JS generator configuration. Gets a value indicating whether match host name and path should be used on MonoRail routing. true if it should match host name and path; otherwise, false. Gets a value indicating whether routing should exclude app path. true if exclude app path; otherwise, false. Gets the configuration section. The configuration section. Gets the default urls. The default urls. Gets or sets the services config. The services config. The MonoRail section handler Initializes a new instance of the class. Creates a configuration section handler. Configuration context object. The created section handler object. Deserializes the config section. The section. The config. Represents a url routing rule. Initializes a new instance of the class. The regular expression pattern. The replace. Gets the pattern. The pattern. Gets the replace. The replace. Gets the compiled rule. The compiled rule. Represents a set of url routing rules. Deserializes the specified section. The section. Gets the at the specified index. Represents the Scaffolding support configuration. Initializes a new instance of the class. Deserializes the configuration section looking for a 'scaffold' element with a 'type' attribute The section. Gets the scaffolding support implementation type. The type of the scaffold impl. Represents the SMTP configuration on the configuration file Deserializes the specified smtp section. The smtp section. Gets or sets the smtp host. The host. Gets or sets the smtp port. The port. Gets or sets the smtp username. The username. Gets or sets the smtp password. The password. Hack to allow MR to work when the main assemblies are on GAC. This method returns the complete name. Represents the url node configuration Deserializes the specified section. The section. Gets or sets whether url should have an extension. Represents the view components node configuration Deserializes the specified section. The section. Gets or sets the assemblies. The assemblies. Gets or sets the custom view component factory. The custom view component factory. Represents the view engines configuration Initializes a new instance of the class. Deserializes the specified section. The section. Configures the default view engine. Gets or sets the view path root. The view path root. Gets or sets the virtual path root. The virtual path root. Gets the view engines. The view engines. Gets or sets the additional assembly sources. The sources. Pendent Pendent Pendent Gets or sets the URL tokenizer. The URL tokenizer. Gets or sets the URL builder. The URL builder. Gets or sets the cache provider. The cache provider. Gets or sets the engine context factory. The engine context factory. Gets or sets the controller factory. The controller factory. Gets or sets the controller context factory. The controller context factory. Gets or sets the controller tree. The controller tree. Gets or sets the view source loader. The view source loader. Gets or sets the filter factory. The filter factory. Gets or sets the controller descriptor provider. The controller descriptor provider. Gets or sets the view engine manager. The view engine manager. Gets or sets the validator registry. The validator registry. Gets or sets the action selector. The action selector. Gets or sets the scaffold support. The scaffold support. Gets or sets the JSON serializer. The JSON serializer. Gets or sets the static resource registry service. The static resource registry. Gets or sets the email template service. The email template service. Gets or sets the email sender. The email sender. Gets or sets the resource factory. The resource factory. Gets or sets the service initializer. The service initializer. Gets or sets the helper factory. The helper factory. Gets or sets the extension manager. The extension manager. Initializes a new instance of the class. The parent container. Initializes a new instance of the class. Pendent Installs the primordial services. Pendent Initialize extensions and start the extension manager. Configures the specified config. The config. Creates the specified service running all life cycles for it. The service type. Gets or sets the URL tokenizer. The URL tokenizer. Gets or sets the URL builder. The URL builder. Gets or sets the cache provider. The cache provider. Gets or sets the engine context factory. The engine context factory. Gets or sets the controller factory. The controller factory. Gets or sets the controller context factory. The controller context factory. Gets or sets the controller tree. The controller tree. Gets or sets the view source loader. The view source loader. Gets or sets the filter factory. The filter factory. Gets or sets the controller descriptor provider. The controller descriptor provider. Gets or sets the view engine manager. The view engine manager. Gets or sets the validator registry. The validator registry. Gets or sets the action selector. The action selector. Gets or sets the scaffold support. The scaffold support. Gets or sets the JSON serializer. The JSON serializer. Gets or sets the static resource registry service. The static resource registry. Gets or sets the email template service. The email template service. Gets or sets the email sender. The email sender. Gets or sets the extension manager. The extension manager. Gets or sets the resource factory. The resource factory. Gets or sets the service initializer. The service initializer. Gets or sets the helper factory. The helper factory. Enum for all known MonoRail services. Default value Custom ( not know service ) The service The service The service The service The service The service The service The service. The service. The service The service. The service The service The service The service The service The service The service The service The service The service The service The service The service The service The service Holds the meta information for an action Common meta descriptor that represents configuration share by controllers and actions. Gets or sets the layout descriptor. The layout. Gets or sets the rescues descriptors. The rescues. Gets or sets the resources descriptors. The resources. Gets the cache configurer associated with this action. The cache configurers. Gets or sets the skip rescue associated with this action. The skip rescue. Gets or sets the accessible through definition associated with this action. The accessible through. Gets the skip filters associated with this action. The skip filters. Gets or sets the transform filters associated with this action. The transform filters. Gets or sets the return descriptor. The return descriptor. Represents the configuration associated with a . Initializes a new instance of the class. Type of the controller. The name of the controller. The area associated with the controller. if set to true [sessionless]. Gets the type of the controller. The type of the controller. Gets the controller's name. The name. Gets the controller's area. The area. Gets a value indicating whether the needs a session. true if sessionless; otherwise, false. Holds all meta information a controller might expose, so the attributes are collected only once. This approach translates into a huge performance boost. Initializes a new instance of the class. Gets an action descriptor with information about an action. The action method. Adds the action. The action. The meta descriptor. Gets or sets the controller descriptor. The controller descriptor. Gets the actions. The actions. Gets the action descriptors dictionary. They key is an action (might be a method or something else). The action descriptors. Gets the ajax actions. The ajax actions. Gets or sets the default action. The default action. Gets or sets the helpers. The helpers. Gets or sets the filters. The filters. Gets the scaffoldings. The scaffoldings. Gets the action providers. The action providers. Gets or sets the transform filters. The transform filters. Represents the meta information and type of an implementation of . Initializes a new instance of the class. Type of the filter. The flag that defines when it should run. The execution order. The attribute. Creates a new object that is a copy of the current instance. A new object that is a copy of this instance. Gets the type of the filter. The type of the filter. Gets the flag that defines when it should run. The when. Gets the execution order. The execution order. Gets or sets the filter instance. The filter instance. Gets or sets the attribute. The attribute. Represents the information about a Helper class associated with a Initializes a new instance of the class. Type of the helper. Initializes a new instance of the class. Type of the helper. A custom name to use to access the helper from the view. Gets the helper name. The name. Gets the type of the helper. The type of the helper. Represents a layout configuration Initializes a new instance of the class. The layout names. Gets the name of the layout. The name of the layout. Gets a value indicating whether this attribute represents a single layout. true if this instance has single; otherwise, false. Represents a rescue configuration Initializes a new instance of the class. Name of the rescue view. Type of the exception it is associated with. Initializes a new instance of the class. Controller to handle the rescue Method to handle the rescue Type of the exception it is associated with. Gets the name of the rescue view. The name of the view. Gets the type of the exception this rescue is associated with. The type of the exception. The controller to use for rescue The method on the rescue controller to use Represents a resource configuration associated with a controller. Initializes a new instance of the class. Type that has the resource. The name. Name of the resource. Name of the culture. Name of the assembly. Equalses the specified resource descriptor. The resource descriptor. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. The parameter is null. Serves as a hash function for a particular type. A hash code for the current . Gets the type that has the resource. The type that has the resource. Gets the name. The name. Gets the name of the resource. The name of the resource. Gets the name of the culture. The name of the culture. Gets the name of the assembly. The name of the assembly. Pendent Initializes a new instance of the class. Type of the return. The return type binder. Gets the type of the return. The type of the return. Gets or sets the return type binder. The return type binder. Represents the meta information and type of an implementation of . Initializes a new instance of the class. Type of the transform filter. The execution order. The attribute. Gets the type of the transform filter. The type of the transform filter. Gets the execution order. The execution order. Represents a cache configuration. Represents an empty descriptor Initializes a new instance of the class. if set to true [is cacheable]. The cache strategy. The cache key generator. Gets a value indicating whether the view component is cacheable. true if the View Component is cacheable; otherwise, false. Gets the cache strategy. The cache strategy. Gets the cache key generator. The cache key generator. Provides a basic implementation of Represents a processor of an exception. The processor might choose to register the exception in some specific way and then delegate the execution to the next handler Implementors should perform any required initialization Implementors should perform the action on the exception. Note that the exception is available in The next exception in the sink or null if none exists. Implementors should perform any required initialization Implementors should perform the action on the exception. Note that the exception is available in Invokes the next handler. The context. Builds the standard message. The context. The next exception in the sink or null if none exists. A handle that sends the exception by email Extends providing an method that is invoked by the framework. Implementors should check for known attributes and child nodes within the exceptionHandlerNode The Xml node that represents this handler on the configuration file Implementors should check for known attributes and child nodes within the exceptionHandlerNode The Xml node that represents this handler on the configuration file Implementors should perform the action on the exception. Note that the exception is available in This extension allow one to perform one or more steps in response to an exception threw by an action. To successfully install this extension you must register it on the extensions node and the handlers within the exception node: <monorail> <extensions> <extension type="Castle.MonoRail.Framework.Extensions.ExceptionChaining.ExceptionChainingExtension, Castle.MonoRail.Framework" /> </extensions> <exception> <exceptionHandler type="Type name that implements IExceptionHandler" /> <exceptionHandler type="Type name that implements IExceptionHandler" /> </exception> </monorail> Controllers can request IExceptionProcessor through IServiceProvider and invoke the handlers to process an exception (); exProcessor.ProcessException(ex); RenderView("CouldNotBuyMercedes"); } } ]]> Contract for extensions that want to hook on MonoRail's events Extensions implementations must be thread safe and stateless. Pendent Pendent The service provider. Gives to the extension implementor a chance to read attributes and child nodes of the extension node The node that defines the MonoRail extension Provides an interface to the ExceptionChaingingExtension for manual triggering Initiates the ExceptionChainingExtension manualy The exception to process The engine context. Gives to the extension implementor a chance to read attributes and child nodes of the extension node The node that defines the MonoRail extension Services the specified provider. The provider. Initiates the ExceptionChainingExtension manualy The exception to process The engine context. Called when an exception happens. The context. Installs the exception handler. The node. Name of the type. This class expects to be configured with exclude types that detail the types of exceptions to be ignored. Implementors should check for known attributes and child nodes within the exceptionHandlerNode The Xml node that represents this handler on the configuration file Implementors should perform the action on the exception. Note that the exception is available in Exception handler that prevents further processment if the request is local. This is useful if the next handler do something more serious like sending an e-mail to admins/developers/cto/ceo. Inspired by http://sradack.blogspot.com/2007/07/monorail-exception-chaining.html Prevents next handler from invoked if the request is local. Handles that logs the exception using the the logger factory. Implementors should perform the action on the exception. Note that the exception is available in This extension allow one to provide a custom implementation of the session available on To successfully install this extension you must add the attribute customSession to the monoRail configuration node and register the extension on the extensions node. <monoRail customSession="Type name that implements ICustomSessionFactory"> <extensions> <extension type="Castle.MonoRail.Framework.Extensions.Session.CustomSessionExtension, Castle.MonoRail.Framework" /> </extensions> </monoRail> Reference to an instance of obtained from the configuration Gives to the extension implementor a chance to read attributes and child nodes of the extension node The node that defines the MonoRail extension Services the specified provider. The provider. Reads the attribute customSession from and instantiate it based on the type name provided. If the typename was not provided or the type could not be instantiated/found The Extension Manager The configuration Overrides the ISession instance on . Note that the session available through IHttpContext is left untouched Retrives the ISession instance from . and invokes Contract used by to obtain the session implementation provided by the programmer Should identify the session using the context (usually a cookie is used for that) Should persist the session state associated with the context (again, a cookie is the standard approach to identify the session) MonoRail's extension manager. It fires events related to MonoRail that can be used to add additional behaviour. Initializes a new instance of the class. The service container. Gets the service container. The service container. Gets the extensions. The extensions. Occurs when an action throws an exception. Occurs when an unhandled exception is thrown. Occurs when a session is adquired. Occurs when a session is released. Occurs before processing controller. Occurs after processing controller. Pendent Dictates the contract for filters. Implementors should use filter to perform any logic before and/or after the action invocation. Implementors should perform they filter logic and return true if the action should be processed. When this filter is being invoked Current context The controller instance The controller context. true if the action should be invoked, otherwise false Implementors should perform they filter logic and return true if the action should be processed. When this filter is being invoked Current context The controller instance The controller context. true if the action should be invoked, otherwise false Enum to identify where a value is stored. Value is stored in the Session object. Value is stored in a cookie object. Value is stored in the querystring. Value is stored in the form collection. Value is stored in either query string or form collection. The LocalizationFilter can be used to determine the culture to use for resources and UI. Dictates a contract that the defining FilterAttribute can be set Sets the filter. The filter. Executes a sequence of steps to determine the browser location/culture. When this filter is being invoked Current context The controller instance The controller context. true if the action should be invoked, otherwise false Gets the user language. The request. Gets the locale id. The context. Sets the filter. The filter. Forces ASP.Net to perform a more complete request validation Initializes a new instance of the class. Implementors should perform they filter logic and return true if the action should be processed. When this filter is being invoked Current context The controller instance The controller context. true if the action should be invoked, otherwise false Implementation of a browser validator that uses the fValidate javascript library. Abstracts the approach to create javascript validation for forms. Implementors should attempt to read their specific configuration from the , configure and return a class that extends from An instance that extends from Implementors should return their generator instance. A generator instance Implementors should attempt to read their specific configuration from the , configure and return a class that extends from An instance that extends from Implementors should return their generator instance. A generator instance Supported configuration for fValidate. Configures the JS library based on the supplied parameters. The parameters. Generator for fValidate validation. Initializes a new instance of the class. Type of the input. The attributes. Sets that a field is required. The target name (ie, a hint about the controller being validated) The violation message. Sets that a field value must match the specified regular expression. The target name (ie, a hint about the controller being validated) The reg exp. The violation message. Sets that a field value must be a valid email address. The target name (ie, a hint about the controller being validated) The violation message. Set that a field should only accept digits. The target name (ie, a hint about the controller being validated) The violation message. Set that a field should only accept numbers. The target name (ie, a hint about the controller being validated) The violation message. Sets that field must have an exact lenght. The target name (ie, a hint about the controller being validated) The length. Sets that field must have an exact lenght. The target name (ie, a hint about the controller being validated) The length. The violation message. Sets that field must have an minimum lenght. The target name (ie, a hint about the controller being validated) The minimum length. Sets that field must have an minimum lenght. The target name (ie, a hint about the controller being validated) The minimum length. The violation message. Sets that field must have an maximum lenght. The target name (ie, a hint about the controller being validated) The maximum length. Sets that field must have an maximum lenght. The target name (ie, a hint about the controller being validated) The maximum length. The violation message. Sets that field must be between a length range. The target name (ie, a hint about the controller being validated) The minimum length. The maximum length. Sets that field must be between a length range. The target name (ie, a hint about the controller being validated) The minimum length. The maximum length. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Set that a field value must be the same as another field's value. The target name (ie, a hint about the controller being validated) The name of the field to compare with. The violation message. Set that a field value must _not_ be the same as another field's value. The target name (ie, a hint about the controller being validated) The name of the field to compare with. The violation message. Set that a field value must be a valid date. The target name (ie, a hint about the controller being validated) The violation message. Adds the validator. The target. The validator. Implements support for really easy field validation http://tetlaw.id.au/view/javascript/really-easy-field-validation Implementors should attempt to read their specific configuration from the , configure and return a class that extends from An instance that extends from Implementors should return their generator instance. A generator instance Configuration for the Prototype Field Validation Implementors should return any tag/js content to be rendered after the form tag is closed. The form id. Configures the JS library based on the supplied parameters. The parameters. Adds a custom rule. Name of the class. The violation message. The rule. Generator for prototype field validation Initializes a new instance of the class. Validation configuration instance Type of the input. The attributes. Sets that a field is required. The target name (ie, a hint about the controller being validated) The violation message. Set that a field should only accept digits. The target name (ie, a hint about the controller being validated) The violation message. Set that a field should only accept numbers. The target name (ie, a hint about the controller being validated) The violation message. Sets that a field value must be a valid email address. The target name (ie, a hint about the controller being validated) The violation message. Sets that a field value must match the specified regular expression. The target name (ie, a hint about the controller being validated) The reg exp. The violation message. Sets that field must have an exact lenght. The target name (ie, a hint about the controller being validated) The length. Sets that field must have an exact lenght. The target name (ie, a hint about the controller being validated) The length. The violation message. Sets that field must have an minimum lenght. The target name (ie, a hint about the controller being validated) The minimum length. Sets that field must have an minimum lenght. The target name (ie, a hint about the controller being validated) The minimum length. The violation message. Sets that field must have an maximum lenght. The target name (ie, a hint about the controller being validated) The maximum length. Sets that field must have an maximum lenght. The target name (ie, a hint about the controller being validated) The maximum length. The violation message. Sets that field must be between a length range. The target name (ie, a hint about the controller being validated) The minimum length. The maximum length. Sets that field must be between a length range. The target name (ie, a hint about the controller being validated) The minimum length. The maximum length. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Set that a field value must be the same as another field's value. The target name (ie, a hint about the controller being validated) The name of the field to compare with. The violation message. Set that a field value must _not_ be the same as another field's value. The target name (ie, a hint about the controller being validated) The name of the field to compare with. The violation message. Set that a field value must be a valid date. The target name (ie, a hint about the controller being validated) The violation message. Provides an interface for the Zebda client side JS validator http://labs.cavorite.com/zebda Read the configuration Pendent Configuration for the Zebda validation Render the validation init script read the validator configuration values The generator for the Zebda JS validator Initializes a new instance of the class. Type of the input. The attributes. Set that a field should only accept digits. The target name (ie, a hint about the controller being validated) The violation message. Set that a field should only accept numbers. The target name (ie, a hint about the controller being validated) The violation message. Sets that a field is required. The target name (ie, a hint about the controller being validated) The violation message. Sets that a field value must match the specified regular expression. The target name (ie, a hint about the controller being validated) The reg exp. The violation message. Sets that a field value must be a valid email address. The target name (ie, a hint about the controller being validated) The violation message. Sets that field must have an exact lenght. The target name (ie, a hint about the controller being validated) The length. Sets that field must have an exact lenght. The target name (ie, a hint about the controller being validated) The length. The violation message. Sets that field must have an minimum lenght. The target name (ie, a hint about the controller being validated) The minimum length. Sets that field must have an minimum lenght. The target name (ie, a hint about the controller being validated) The minimum length. The violation message. Sets that field must have an maximum lenght. The target name (ie, a hint about the controller being validated) The maximum length. Sets that field must have an maximum lenght. The target name (ie, a hint about the controller being validated) The maximum length. The violation message. Sets that field must be between a length range. The target name (ie, a hint about the controller being validated) The minimum length. The maximum length. Sets that field must be between a length range. The target name (ie, a hint about the controller being validated) The minimum length. The maximum length. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Sets that field must be between a value range. The target name (ie, a hint about the controller being validated) Minimum value. Maximum value. The violation message. Set that a field value must be the same as another field's value. The target name (ie, a hint about the controller being validated) The name of the field to compare with. The violation message. Set that a field value must _not_ be the same as another field's value. The target name (ie, a hint about the controller being validated) The name of the field to compare with. The violation message. Set that a field value must be a valid date. The target name (ie, a hint about the controller being validated) The violation message. Optional base class for helpers. Extend from this class only if your helpers needs a reference to the controller which is using it or if you need to use one of the protected utility methods. Pendent Sets the context. The context. Implemented by the view or helpers, if they desire to have access to the controller instance. Sets the controller and its context. The controller. The controller context. Initializes a new instance of the class. Initializes a new instance of the class, setting the Controller, Context and ControllerContext. The engine context. Sets the context. The context. Sets the controller. Current view's . The controller context. Merges with placing results in . The user options. The default options. All and in are copied to . Entries with the same in and are skipped. Renders the a script block with a src attribute pointing to the url. The url must not have an extension. For example, suppose you invoke it like: RenderScriptBlockToSource("/my/url/to/my/scripts"); That will render ]]> As you see the file extension will be inferred The url for the scripts (should start with a '/') An script block pointing to the given url. Renders the a script block with a src attribute pointing to the url sending the querystring as parameter. The url must not have an extension. For example, suppose you invoke it like: RenderScriptBlockToSource("/my/url/to/my/scripts", "locale=pt-br"); That will render ]]> As you see the file extension will be inferred The url for the scripts (should start with a '/') The query string. An script block pointing to the given url. Generates HTML element attributes string from . key1="value1" key2 The attributes for the element. to use inside HTML element's tag. is returned if is null or empty. If for some is null or only attribute name is appended to the string. Builds a query string encoded. Supports multi-value query strings, using any as a value. IDictionary dict = new Hashtable(); dict.Add("id", 5); dict.Add("selectedItem", new int[] { 2, 4, 99 }); string querystring = BuildQueryString(dict); // should result in: "id=5&selectedItem=2&selectedItem=4&selectedItem=99" The parameters Builds a query string encoded. Supports multi-value query strings, using any as a value. The parameters Concat two string in a query string format (key=value&key2=value2) building a third string with the result key values key values The concatenation result HTML encodes a string and returns the encoded string. The text string to HTML encode. The HTML encoded text. Escapes a content replacing line breaks with html break lines. The text to escape. The URL encoded and JavaScript escaped text. URL encodes a string and returns the encoded string. The text to URL encode. The URL encoded text. URL encodes the path portion of a URL string and returns the encoded string. The text to URL encode. The URL encoded text. Escapes JavaScript with Url encoding and returns the encoded string. Converts quotes, single quotes and CR/LFs to their representation as an escape character. The text to URL encode and escape JavaScript within. The URL encoded and JavaScript escaped text. Builds a JS associative array based on the specified dictionary instance. For example: {name: value, other: 'another'} The js options. An associative array in javascript Generates script block. <script type=\"text/javascript\"> scriptContents </script> The script contents. placed inside script tags. Quotes the specified string with double quotes The content. A quoted string Quotes the specified string with singdoublele quotes Items to quote A quoted string Quotes the specified string with double quotes The content. A quoted string Gets the controller. The used with the current view. Gets the controller context. The controller context. Gets the engine context. The context. Gets or sets the server utility. The server utility. Gets the URL helper instance. The URL helper. Gets the current context. The current context. XmlHttpRequest supported events. Not initialized Called when the remote document is being loaded with data by the browser. Called when the browser has finished loading the remote document. Called when the user can interact with the remote document, even though it has not finished loading. Called when the XMLHttpRequest has completed. Called when the request was successfully (Status code < 500) Called when the request was not successfully (Status code >= 500) MonoRail Helper that delivers AJAX capabilities. The following libraries are exposed: Prototype Simplify ajax programming, among other goodies Behaviour Uses css selectors to bind javascript code to DOM elements Initializes a new instance of the class. Initializes a new instance of the class. setting the Controller, Context and ControllerContext. The engine context. Invoked by the framework in order to give a chance to obtain other services The service proviver Renders a Javascript library inside a single script tag. Renders a Javascript library inside a single script tag. Generates an AJAX JavaScript proxy for the current controller. Name of the javascript proxy object Generates an AJAX JavaScript proxy for a given controller. Name of the javascript proxy object Controller which will be target of the proxy Generates an AJAX JavaScript proxy for a given controller. Name of the javascript proxy object Controller which will be target of the proxy area which the controller belongs to Returns a link that will trigger a javascript function using the onclick handler and return false after the fact. <a href="javascript:void(0);" onclick="functionCodeOrName; return false">innerContent</a> Link content Function definition Attributes to be applied to the html element Returns a link that will trigger a javascript function using the onclick handler and return false after the fact. <a href="javascript:void(0);" onclick="confirm('question') { functionCodeOrName}; return false">innerContent</a> Link content Function definition Confirm question Attributes to be applied to the html element Returns a link that will trigger a javascript function using the onclick handler and return false after the fact. Link content Function definition Returns a link that will trigger a javascript function using the onclick handler and return false after the fact. Link content Function definition Confirm question Returns a button that will trigger a javascript function using the onclick handler and return false after the fact. Button legend Function definition or name Attributes to be applied to the input html element Returns a button that will trigger a javascript function using the onclick handler and return false after the fact. Button legend Function definition or name Creates a button that if clicked will fire an Ajax invocation. Button legend The URL of the Ajax action the options for the Ajax invocation The handcrafted input Creates a button that if clicked will fire an Ajax invocation. Button legend the target url the options for the Ajax invocation Attributes to be applied to the html element The handcrafted input Returns a link to a remote action defined by options["url"] that is called in the background using XMLHttpRequest. The result of that request can then be inserted into a DOM object whose id can be specified with options["update"]. Usually, the result would be a partial prepared by the controller Link content Target url the options for the Ajax invocation The handcrafted element Returns a link to a remote action defined by options["url"] that is called in the background using XMLHttpRequest. The result of that request can then be inserted into a DOM object whose id can be specified with options["update"]. Usually, the result would be a partial prepared by the controller Link content the confirm question Target url the options for the Ajax invocation The handcrafted element Returns a link to a remote action defined by options["url"] that is called in the background using XMLHttpRequest. The result of that request can then be inserted into a DOM object whose id can be specified with options["update"]. Usually, the result would be a partial prepared by the controller Link content Target url the options for the Ajax invocation Attributes to be applied to the html element The handcrafted element Returns a form tag that will submit using XMLHttpRequest in the background instead of the regular reloading POST arrangement. Even though it is using Javascript to serialize the form elements, the form submission will work just like a regular submission as viewed by the receiving side (all elements available). Target url the options for the Ajax invocation The handcrafted element Returns a form tag that will submit using XMLHttpRequest in the background instead of the regular reloading POST arrangement. Even though it is using Javascript to serialize the form elements, the form submission will work just like a regular submission as viewed by the receiving side (all elements available). the options for the Ajax invocation The handcrafted element Observes the field with the DOM ID specified by fieldId and makes an Ajax when its contents have changed. Form field to be observed The frequency (in seconds) at which changes to this field will be detected. (required) url for the action to call when the field has changed (required) Specifies the DOM ID of the element whose innerHTML should be updated with the XMLHttpRequest response text. A Javascript expression specifying the parameters for the XMLHttpRequest. This defaults to 'value', which in the evaluated context refers to the new field value. javascript that activates the observer Observes the field with the DOM ID specified by fieldId and makes an Ajax when its contents have changed. Form field to be observed The frequency (in seconds) at which changes to this field will be detected. (required) url for the action to call when the field has changed (required) the options for the Ajax invocation javascript that activates the observer Observes the field with the DOM ID specified by field and makes an Ajax call when its contents changes. The following entries must exist in the dictionary: field The DOM field to be observed url url to to call when the field has changed frequency The frequency (in seconds) at which changes to this field will be detected The following are optional entries: update Specifies the DOM ID of the element whose innerHTML should be updated with the XMLHttpRequest response text with A Javascript expression specifying the parameters for the XMLHttpRequest. This defaults to 'value', which in the evaluated context refers to the new field value the options for the Ajax invocation javascript that activates the observer Like , but operates on an entire form identified by the DOM ID formId. options are the same as , except the default value of the :with option evaluates to the serialized (request String) value of the form. Works like the , but operates on an entire form identified by the DOM ID formId. Options are the same as , except the default value of the with option evaluates to the serialized (request String) value of the entire form. Form to be observed The frequency (in seconds) at which changes to this field will be detected. (required) url for the action to call when the field has changed (required) Specifies the DOM ID of the element whose innerHTML should be updated with the XMLHttpRequest response text. A Javascript expression specifying the parameters for the XMLHttpRequest. This defaults to 'value', which in the evaluated context refers to the new field value. javascript that activates the observer Like , but operates on an entire form identified by the DOM ID formId. options are the same as , except the default value of the with option evaluates to the serialized (request String) value of the entire form. Form to be observed the options for the Ajax invocation javascript that activates the observer Observes all elements within a form with the DOM ID specified by form and makes an Ajax call when its contents changes. The following entries must exist in the dictionary: form The form element id url url to to call when the field has changed frequency The frequency (in seconds) at which changes to this field will be detected The following are optional entries: update Specifies the DOM ID of the element whose innerHTML should be updated with the XMLHttpRequest response text with A Javascript expression specifying the parameters for the XMLHttpRequest. This defaults to 'value', which in the evaluated context refers to the new field value the options for the Ajax invocation javascript that activates the observer Periodically invokes the specified url. You can use the options to override the default frequency (defaults to 10 seconds). the options for the Ajax invocation javascript that activates the timer Periodically invokes the specified url. You can use the options to override the default frequency (defaults to 10 seconds). the options for the Ajax invocation url to be invoked periodically javascript that activates the timer Rendes a input field with Google style autocomplete enabled. The specified url is used to gather the contents for the auto complete panel, so and your action should return filtered and sorted results. The following entries must exist in the options: input The text input element id url url to to call when the field has changed it is assumed that the url invoked returns an unordered list. the options for the Ajax invocation attributes for the input html element javascript that activates the timer Rendes a input field with Google style autocomplete enabled. The specified url is used to gather the contents for the auto complete panel, so and your action should return filtered and sorted results. it is assumed that the url invoked returns an unordered list. input element id url used to gather results attributes for the input element options for the autocomplete Generates an javascript block enabling auto completion for the specified input text id (elementId). You can specify the element to be updated using the options dictionary (key update), if you don't we assume elementId+autocomplete. it is assumed that the url invoked returns an unordered list. The element id (input type=text) The url to be invoked returning results the options for the Ajax invocation Returns a function that makes a remote invocation, using the supplied parameters Target url the options for the Ajax invocation javascript code Returns a function that makes a remote invocation, using the supplied parameters the options for the Ajax invocation javascript code Populates the by analyzing the options set on the helper The following options are analyzed type boolean - sets the asynchronous method string - sets the method. Possible values are post/get evalScripts boolean position string - sets the place where content is inserted (Top, Bottom, After, Before) form if present, set the parameters request to send the current form serialized with if present, set its content as the parameters for the ajax request Options that will be used on the js side Options passed to the helper method Builds the callback function. The callback. The code. The name. Builds the observer. The clazz. The name. The options. Gets the options. The URL. The options. Gets the options. The URL. The id of element to be updated. The with. The loading. The loaded. The complete. The interactive. Exposes the functionality available on the Behaviour js library which Uses css selectors to bind javascript code to DOM elements Before using it, you must install the scripts. See Initializes a new instance of the class. Initializes a new instance of the class. setting the Controller, Context and ControllerContext. The engine context. Renders a script tag refering the Behaviour library code. Renders a script block invoking Behaviour.apply() Renders a script block invoking Behaviour.addLoadEvent(loadFunctionName); The name of the js function to be invoked when the body is loaded Renders a script block starting the association of events to selector rules Adds a entry to a registration array. Invoking it with #form, onsubmit and validate will produce '#form' : function(e){ e.onsubmit = validate; }, The css selector rule The name of the event on the element The function to be invoked in response to the event Renders the end of a script block that associated events to selector rules Simple helper for date formatting Initializes a new instance of the class. Initializes a new instance of the class. setting the Controller, Context and ControllerContext. The engine context. Alternative representation of a difference between the specified date and now. If within 24hr it returns Today. If within 48hr it returns Yesterday. If within 40 days it returns x days ago and otherwise it returns x months ago TODO: Think about i18n The date in the past (should be equal or less than now) Returns the difference from the specified date the the current date in a friendly string like "1 day ago" TODO: Think about i18n The date in the past (should be equal or less than now) Formats to short date Short date, or String.Empty if is null. Formats to short date Short date and time, or String.Empty if is null. Helper used to create instances Initializes a new instance of the class. Initializes a new instance of the class. The engine context. Creates an with entries infered from the arguments. helper.CreateDict( "style=display: none;", "selected" ) an Creates a dictionary from specified arguments. Returns a MonoRailDictionary object, which is an IDictionary like previous versions of this method. DictHelper.Create( "style=display: none;", "selected" ) The arguments. an Creates an and adds the specified key & value to the collection. The name. The value. an Creates an and adds the specified key & value to the collection. The key. The value. an Creates a dictionary froms a name value collection. The collection. Helper (for the Helper) used to create instances. Initializes a new instance of the class. Forces case Insensitivty. Adds the specified key & value to the collection. Usuable in placed where the generic version is not available. The key. The value. itself, to allow for chaning. Adds the specified key to the collection. The key. itself, to allow for chaning. Exposes the effect script from Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) Before using it, you must install the scripts. See Exposes the effect script from Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) Before using it, you must install the scripts. See Initializes a new instance of the class. Initializes a new instance of the class. setting the Controller, Context and ControllerContext. The engine context. Renders a Javascript library inside a single script tag. Gets the javascript functions. Generates a JS snippet invoking the specified effect. Examples: VisualEffect('ToggleSlide', 'elementid') VisualEffect('ToggleBlind', 'elementid') VisualEffect('ToggleAppear', 'elementid') VisualEffect('Highlight', 'elementid') VisualEffect('Fade', 'elementid') VisualEffect('Shake', 'elementid') VisualEffect('DropOut', 'elementid') The effect name. The element id to act upon. A JS snippet Generates a JS snippet invoking the specified effect. Examples: VisualEffect('ToggleSlide', 'elementid') VisualEffect('ToggleBlind', 'elementid') VisualEffect('ToggleAppear', 'elementid') VisualEffect('Highlight', 'elementid') VisualEffect('Fade', 'elementid') VisualEffect('Shake', 'elementid') VisualEffect('DropOut', 'elementid') Common options includes duration, transition, fps, sync, from, to, delay, queue, startcolor, endcolor. Callbacks: beforeStart, beforeUpdate, afterUpdate, afterFinish If you want to use the DropOut effect, please refer to The effect name. The element id to act upon. A dictionary used to specify options to the effect behavior A JS snippet Generates a JS snippet invoking the DropOut effect Examples: VisualEffectDropOut('elementid', {position:'end', scope='test', limit=2}) The element id to act upon. A dictionary used to specify options to the DropOut behavior A JS snippet Initializes a new instance of the class. Initializes a new instance of the class. setting the Controller, Context and ControllerContext. The engine context. Make an element appear. If the element was previously set to display:none; inside the style attribute of the element, the effect will automatically show the element. Microsoft Internet Explorer can only set opacity on elements that have a 'layout'. To let an element have a layout, you must set some CSS positional properties, like 'width' or 'height'. Makes an element fade away and takes it out of the document flow at the end of the effect by setting the CSS display property to false. Works safely with most HTML block elements (like DIV and LI). Microsoft Internet Explorer can only set opacity on elements that have a 'layout'. To let an element have a layout, you must set some CSS positional properties, like 'width' or 'height'. Gives the illusion of the element puffing away (like a in a cloud of smoke). Works safely with most HTML block elements (like DIV and LI). Makes the element drop and fade out at the same time. Works safely with most HTML block elements (like DIV and LI). Moves the element slightly to the left, then to the right, repeatedly. Works safely with most HTML block elements (like DIV and LI). Gives the illusion of a TV-style switch off. Works safely with most HTML block elements (like DIV and LI). This pair of effects simulates a window blind, where the contents of the affected elements stay in place. Works safely with most HTML block elements (like DIV and LI), except table rows, table bodies and table heads. This pair of effects simulates a window blind, where the contents of the affected elements stay in place. Works safely with most HTML block elements (like DIV and LI), except table rows, table bodies and table heads. This pair of effects simulates a window blind, where the contents of the affected elements scroll up and down accordingly. You must include a second DIV element, wrapping the contents of the outer DIV. So, if you call new Effect.SlideDown('x'), your element must look like this: <div id="x"><div>contents</div></div> Because of a bug in Internet Explorer 6 (overflow not correctly hidden), an additional wrapper div is needed if you want to use these effects on absolutely positionend elements (wrapper is the absolutely positioned element, x has position:relative; set; ): <div id="wrapper"> <div id="x"><div>contents</div></div> </div> Works only on block elements. This pair of effects simulates a window blind, where the contents of the affected elements scroll up and down accordingly. You must include a second DIV element, wrapping the contents of the outer DIV. So, if you call new Effect.SlideDown('x'), your element must look like this: <div id="x"><div>contents</div></div> Because of a bug in Internet Explorer 6 (overflow not correctly hidden), an additional wrapper div is needed if you want to use these effects on absolutely positionend elements (wrapper is the absolutely positioned element, x has position:relative; set; ): <div id="wrapper"> <div id="x"><div>contents</div></div> </div> Works only on block elements. Just apply the CSS class "fade" to any element and it will fade from yellow to its background color or white if none is specified. Key Features
* Fade an infinite number of elements.
* No inline JavaScript. Simply give an element a class of "fade", the script does the rest "automagically".
* Background color aware. FAT will do better than simply fade to white if the element (or it's parents) have a CSS background color, it will fade to that background color instead.
* Fade from any color. For example, if you wanted a list of error messages to fade out from red you would simply give the list a class of "fade-FF0000".
* Super smooth fading. By default, elements will fade at 30 frames per second (the same rate as a television) over 3 seconds. You can adjust this to any framerate and any duration. You could easily fade elements at 60 frames per second over 4, 5, 10 seconds!
NOTE: All elements to be faded must have an id tag! BASIC USE:

Watch me fade

ADVANCED USE: Change the default fade from color:

Watch me fade from Blue (#0066FF)

SEE MORE HERE: http://www.axentric.com/posts/default/7
Initializes a new instance of the class. Initializes a new instance of the class. setting the Controller, Context and ControllerContext. The engine context. Renders a Javascript library inside a single script tag. Renders a Javascript library inside a single script tag. Represents all scopes that the uses to search for root values All scopes should be searched Only PropertyBag should be searched Only Flash should be searched Only Session should be searched Only Request should be searched Only Params should be searched The FormHelper allows you to output html input elements using the conventions necessary to use the DataBinder on the server side. Ultimately it allows you do to a bi-directional binding -- if used properly. Using simple values: On the controller: public void MyAction() { PropertyBag["name"] = "John Doe"; } On the view (using NVelocity syntax) $Form.TextField('name') // Renders an input text with value "John Doe" Using complex objects: public void MyAction() { PropertyBag["user"] = new User("John Doe"); } On the view (using NVelocity syntax) $Form.TextField('user.name') // Renders an input text with value "John Doe" Elements generation
Buttons

Select Text area Hidden field Checkbox field
Radio field File upload Text field


Password field
Labels
FormValidation
The following operations are related to the Form Validation support:
and Opens/close the form tag. They are required to use the automatic form validation Disables validation altogether Sets a custom Browser validator provider Configures the helper to use the prototype easy field validation. Must be invoked before FormTag Configures the helper to use the fValidate. Deprecated. Configures the helper to use the Zebda. Must be invoked before FormTag Mask support.
For most elements, you can use the entries mask and optionally mask_separator to define a mask for your inputs. Kudos to mordechai Sandhaus - 52action.com
For example: mask='2,5',mask_separator='/' will mask the content to '12/34/1234'
Common property flags for reflection Common property flags for reflection (with declared only) Common field flags for reflection Initializes a new instance of the class. Initializes a new instance of the class. setting the Controller, Context and ControllerContext. The engine context. Logger instance Invoked by the framework in order to give a chance to obtain other services The service proviver Renders a Javascript library inside a single script tag. Creates a form tag based on the parameters. Javascript validation can also be bound to the form and|or elements nested as long as the helper is able to reach the of the object used on your view code The action attribute generation will use $Form.FormTag("%{action='Save',id='productform'}") Outputs: <form method='post' action='/[appdir]/[controller]/Save.[extension]' id='productform'> The parameters are used to build a url and also to form the tag. For notes on the url see . The other parameters supported follows noaction boolean. Disables the generation of an action method string. The http method to use. Defaults to post id string. The form id. More parameters can be accepted depending on the form validation strategy you are using (if any). The parameters for the tag or for action and form validation generation. Creates a form tag based on the parameters. Javascript validation can also be bound to the form and|or elements nested as long as the helper is able to reach the of the object used on your view code The action attribute generation will use $Form.FormTag('mytarget.castle', "%{id='productform'}") Outputs: <form method='post' action='mytarget.castle' id='productform'> The following parameters are accepted. method string. The http method to use. Defaults to post id string. The form id. More parameters can be accepted depending on the form validation strategy you are using (if any). The hardcoded url. The parameters for the tag or for action and form validation generation. Generate Ajax form tag for ajax based form submission. Experimental. Renders an end form element. Should be used if you are using form validation. Some validation approaches uses the end form before or after appending a javascript snippet. Pushes the specified target. Experimental. The target. Pushes the specified target. Experimental. The target. The parameters. Pops this instance. Experimental. Generates an input submit element. The value/caption for the button. The element tag Generates an input submit element. The value/caption for the button. Attributes for the FormHelper method and for the html element it generates The element tag Generates an graphical submit element. The path the image file. The alt text displayed by screenreaders, or when images are not enabled. The element tag Generates an input submit element. The path the image file. The alt text displayed by screenreaders, or when images are not enabled. Attributes for the FormHelper method and for the html element it generates The element tag Generates an input button element. The value. The element tag Generates an input button element. The value. Attributes for the FormHelper method and for the html element it generates The element tag Creates a basic button element of type submit. The inner text of the button element. The generated button element. Creates a basic button element of the specified type. The inner text of the button element. The type of the button. The generated button element. Creates a basic button element of the specified type and with specified attributes. The inner text of the button element. The type of the button. Attributes for the FormHelper method and for the html element it generates The generated button element. Generates an input text form element with the supplied value The string to be used to create the element name. Value to supply to the element (instead of querying the target) The generated form element Generates an input text form element with the supplied value The string to be used to create the element name. Value to supply to the element (instead of querying the target) Attributes for the FormHelper method and for the html element it generates The generated form element Generates an input text element. The value is extracted from the target (if available) The following example assumes that an entry username exists on the or or $Form.TextField('username') Outputs: <input type='text' name='username' id='username' value='John Doe' /> The following example assumes that an entry user exists on the or or $Form.TextField('user.name') Outputs: <input type='text' name='user.name' id='user_name' value='John Doe' /> The object to get the value from and to be based on to create the element name. The generated form element Generates an input text element. The value is extracted from the target (if available) The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element Combines with to achieve an TextField that offers both input completion and databinding support. The target of the text field (analogous to ) The url to call for completion options (analogous to ) The attributes to apply to the text input field. If this dictionary does not contain a value for browser-based autocompletion (autocomplete="off|on"), it will default to "off" to prevent interference of AJAX-based and browser-based autocompletion. The options for the AJAX-call analogous to . The generated form elements. Please note that this function requires Ajax scripts (Prototype/Scriptaculous) Generates an input text element with a javascript that prevents the chars listed in the forbid attribute from being entered. You must pass an forbid value through the dictionary. It must be a comma separated list of chars that cannot be accepted on the field. For example: FormHelper.FilteredTextField("product.price", {forbid='46'}) In this case the key code 46 (period) will not be accepted on the field. The value is extracted from the target (if available). The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element. You must invoke before using it. Generates an input text element with a javascript that prevents chars other than numbers from being entered. The value is extracted from the target (if available) You must include the formhelper javascript functions to use the NumberField. See The object to get the value from and to be based on to create the element name. The generated form element Generates an input text element with a javascript that prevents chars other than numbers from being entered. The value is extracted from the target (if available) The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element You must include the formhelper javascript functions to use the NumberField. See You can optionally pass an exceptions value through the dictionary. It must be a comma separated list of chars that can be accepted on the field. For example: FormHelper.NumberField("product.price", {exceptions='13,10,11'}) In this case the key codes 13, 10 and 11 will be accepted on the field. You can aslo optionally pass an forbid value through the dictionary. It must be a comma separated list of chars that cannot be accepted on the field. For example: FormHelper.NumberField("product.price", {forbid='46'}) In this case the key code 46 (period) will not be accepted on the field. Generates an input text element with a javascript that prevents chars other than numbers from being entered. The value is not gathered from the context, instead you specify it on the second argument The object to get the value from and to be based on to create the element name. The current value to output. The generated form element You must include the formhelper javascript functions to use the NumberField. See Generates an input text element with a javascript that prevents chars other than numbers from being entered. The value is not gathered from the context, instead you specify it on the second argument The object to get the value from and to be based on to create the element name. The current value to output. Attributes for the FormHelper method and for the html element it generates The generated form element You must include the formhelper javascript functions to use the NumberField. See Generates a textarea element. The value is extracted from the target (if available) The object to get the value from and to be based on to create the element name. The generated form element Generates a textarea element. The value is extracted from the target (if available) The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element Generates a textarea element with a specified value. The target to base the element name on. The value to apply to the field. Attributes for the FormHelper method and for the html element it generates The generated form element Generates a password input field. The object to get the value from and to be based on to create the element name. The generated form element Generates a password input field. The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element Generates an input password element with a javascript that prevents chars other than numbers from being entered. The value is extracted from the target (if available) You must invoke before using it The object to get the value from and to be based on to create the element name. The generated form element Generates an input password element with a javascript that prevents chars other than numbers from being entered. The value is extracted from the target (if available) You can optionally pass an exceptions value through the dictionary. It must be a comma separated list of chars that can be accepted on the field. For example: FormHelper.NumberField("product.price", {exceptions='13,10,11'}) In this case the key codes 13, 10 and 11 will be accepted on the field. You can aslo optionally pass an forbid value through the dictionary. It must be a comma separated list of chars that cannot be accepted on the field. For example: FormHelper.NumberField("product.price", {forbid='46'}) In this case the key code 46 (period) will not be accepted on the field. You must invoke before using it The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element Returns the value for specified target with no additional markup. If no value is obtained an empty string is returned. The object to get the value from. The value or an empty string if none is found. Generates a label element. The object to get the value from and to be based on to create the element name. Legend The generated form element Generates a label element. The object to get the value from and to be based on to create the element name. Legend Attributes for the FormHelper method and for the html element it generates The generated form element Generates a hidden form element. The value is extracted from the target (if available) The object to get the value from and to be based on to create the element name. The generated form element Generates a hidden form element with the specified value The object to get the value from and to be based on to create the element name. The value for the hidden field The generated form element Generates a hidden form element. The value is extracted from the target (if available) The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element Generates a hidden form element with the specified value The object to get the value from and to be based on to create the element name. The value for the hidden field Attributes for the FormHelper method and for the html element it generates The generated form element Creates a instance which is enumerable. For each interaction you can invoke which will correctly render a checkbox input element for the current element on the supplied set (dataSource). The enumerable item will be an element of the dataSource. If the dataSource elements are complex objects (ie not string or primitives), supply the parameters value and text to the dictionary to make the helper use the specified properties to extract the option value and content respectively. Usually both the target and obviously the dataSource are sets with multiple items. The element types tend to be the same. If they are not, you might have to specify the suffix parameters on the attributes as it would not be inferred. Consider the following action code: public void Index() { // data source PropertyBag["primenumbers"] = new int[] { 2, 3, 5, 7, 11, 13, 17, 19, 23 }; // initial selection PropertyBag["selectedPrimes"] = new int[] { 11, 19 }; } And the respective view code #set($items = $FormHelper.CreateCheckboxList("selectedPrimes", $primenumbers)) #foreach($elem in $items) $items.Item() $elem #end That will generates the following html: <input type="checkbox" id="selectedPrimes_0_" name="selectedPrimes[0]" value="2" /> 2 <input type="checkbox" id="selectedPrimes_1_" name="selectedPrimes[1]" value="3" /> 3 <input type="checkbox" id="selectedPrimes_2_" name="selectedPrimes[2]" value="5" /> 5 <input type="checkbox" id="selectedPrimes_3_" name="selectedPrimes[3]" value="7" /> 7 <input type="checkbox" id="selectedPrimes_4_" name="selectedPrimes[4]" value="11" checked="checked" /> 11 <input type="checkbox" id="selectedPrimes_5_" name="selectedPrimes[5]" value="13" /> 13 <input type="checkbox" id="selectedPrimes_6_" name="selectedPrimes[6]" value="17" /> 17 <input type="checkbox" id="selectedPrimes_7_" name="selectedPrimes[7]" value="19" checked="checked" /> 19 <input type="checkbox" id="selectedPrimes_8_" name="selectedPrimes[8]" value="23" /> 23 To customize the id, you can call the overload: #set($items = $FormHelper.CreateCheckboxList("selectedPrimes", $primenumbers)) #foreach($elem in $items) $items.Item("myId${velocityCount}") $Form.LabelFor("myId${velocityCount}", $elem.ToString())
#end
The object to get the value from and to be based on to create the element name. The set of available elements The generated form element
Creates a instance which is enumerable. For each interaction you can invoke which will correctly render a checkbox input element for the current element on the supplied set (dataSource). The enumerable item will be an element of the dataSource. If the dataSource elements are complex objects (ie not string or primitives), supply the parameters value and text to the dictionary to make the helper use the specified properties to extract the option value and content respectively. Usually both the target and obviously the dataSource are sets with multiple items. The element types tend to be the same. If they are not, you might have to specify the suffix parameters on the attributes as it would not be inferred. Consider the following action code: public void Index() { Category[] categories = new Category[] { new Category(1, "Music"), new Category(2, "Humor"), new Category(3, "Politics") }; PropertyBag["categories"] = categories; // datasource Blog blog = new Blog(); blog.Categories = new Category[] { new Category(2, "Humor") }; // initial selection PropertyBag["blog"] = blog; } And the respective view code #set($items = $Form.CreateCheckboxList("blog.categories", $categories, "%{value='Id'}")) #foreach($elem in $items) $items.Item() $elem #end That will generates the following html: <input type="checkbox" id="blog_categories_0_" name="blog.categories[0].Id" value="1" /> Music <input type="checkbox" id="blog_categories_1_" name="blog.categories[1].Id" value="2" checked="checked" /> Humor <input type="checkbox" id="blog_categories_2_" name="blog.categories[2].Id" value="3" /> Politics The object to get the value from and to be based on to create the element name. The set of available elements Attributes for the FormHelper method and for the html element it generates The generated form element Outputs a checkbox element (for internal use) The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element Creates a label for an item of the checkbox list (internal use). The method mirrors to ensure that the HTML ID is created consistently. Index for creating HTML ID Target object for which the HTML ID is needed The label to display additional attributes that influence HTML ID creation Generates a checkbox field. In fact it generates two as a way to send a value if the primary checkbox is not checked. This allow the process the be aware of the unchecked value and act accordingly. Consider the following view code: $Form.CheckboxField('user.disabled') That is going to output: <input type="checkbox" id="user_disabled" name="user.disabled" value="true" /> <input type="hidden" id="user_disabledH" name="user.disabled" value="false" /> The object to get the value from and to be based on to create the element name. The generated form element Generates a checkbox field. In fact it generates two as a way to send a value if the primary checkbox is not checked. This allow the process the be aware of the unchecked value and act accordingly. The checked and unchecked values sent to the server defaults to true and false. You can override them using the parameters trueValue and falseValue, but the DataBinder is prepared only to treat boolean arrays. The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element Generates a radio input type with the specified value to send to the served in case the element in checked. It will automatically check the radio if the target evaluated value is equal to the specified valueToSend. Consider the following action code: public void Index() { PropertyBag["mode"] = FileMode.Truncate; } And the following view code: $Form.RadioField("mode", "Append") FileMode.Append $Form.RadioField("mode", "Create") FileMode.Create $Form.RadioField("mode", "CreateNew") FileMode.CreateNew $Form.RadioField("mode", "Open") FileMode.Open $Form.RadioField("mode", "OpenOrCreate", "%{id='customhtmlid'}") FileMode.OpenOrCreate $Form.RadioField("mode", "Truncate") FileMode.Truncate That is going to output: <input type="radio" id="mode" name="mode" value="Append" /> FileMode.Append <input type="radio" id="mode" name="mode" value="Create" /> FileMode.Create <input type="radio" id="mode" name="mode" value="CreateNew" /> FileMode.CreateNew <input type="radio" id="mode" name="mode" value="Open" /> FileMode.Open <input type="radio" id="customhtmlid" name="mode" value="OpenOrCreate" /> FileMode.OpenOrCreate <input type="radio" id="mode" name="mode" value="Truncate" checked="checked" /> FileMode.Truncate The object to get the value from and to be based on to create the element name. The generated form element Generates a radio input type with the specified value to send to the served in case the element in checked. It will automatically check the radio if the target evaluated value is equal to the specified valueToSend. The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element Generates an input file element. Dirrently than other operations exposed by this helper, no value is extracted for this operation The object to be based on when creating the element name. The generated form element Generates an input file element. Dirrently than other operations exposed by this helper, no value is extracted for this operation The object to be based on when creating the element name. Attributes for the FormHelper method and for the html element it generates The generated form element Creates a select element and its options based on the dataSource. If the dataSource elements are complex objects (ie not string or primitives), supply the parameters value and text to the dictionary to make the helper use the specified properties to extract the option value and content respectively. You can also specify the attribute firstoption to force the first option be something like 'please select'. You can set the value of firstoption by specifying the attribute firstoptionvalue. The default value is '0'. Usually the target is a single value and the dataSource is obviously a set with multiple items. The element types tend to be the same. If they are not, you might have to specify the suffix parameters on the attributes as it would not be inferred. The target can also be a set. In this case the intersection will be the initially selected elements. The object to get the value from and to be based on to create the element name. The set of available elements The generated form element Creates a select element and its options based on the dataSource. If the dataSource elements are complex objects (ie not string or primitives), supply the parameters value and text to the dictionary to make the helper use the specified properties to extract the option value and content respectively. You can also specify the attribute firstoption to force the first option be something like 'please select'. You can set the value of firstoption by specifying the attribute firstoptionvalue. The default value is '0'. Usually the target is a single value and the dataSource is obviously a set with multiple items. The element types tend to be the same. If they are not, you might have to specify the suffix parameters on the attributes as it would not be inferred. The target can also be a set. In this case the intersection will be the initially selected elements. The object to get the value from and to be based on to create the element name. The set of available elements Attributes for the FormHelper method and for the html element it generates The generated form element Creates a select element and its options based on the dataSource. If the dataSource elements are complex objects (ie not string or primitives), supply the parameters value and text to the dictionary to make the helper use the specified properties to extract the option value and content respectively. You can also specify the attribute firstoption to force the first option be something like 'please select'. You can set the value of firstoption by specifying the attribute firstoptionvalue. The default value is '0'. Usually the target is a single value and the dataSource is obviously a set with multiple items. The element types tend to be the same. If they are not, you might have to specify the suffix parameters on the attributes as it would not be inferred. The target can also be a set. In this case the intersection will be the initially selected elements. The object to get the value from and to be based on to create the element name. The set of available elements Attributes for the FormHelper method and for the html element it generates The generated form element Generates the select. The target. The selected value. The data source. The attributes. Creates a field set element with a legend using the specified name. The name. Creates an element to close a fieldset element. Creates a list of pairs for the enum type. enum type. Configures this FormHelper instance to use the supplied web validator to generate field validation. The validation provider. Configures this FormHelper instance to use Prototype for form fields validation Configures this FormHelper instance to use fValidate for form fields validation Configures this FormHelper instance to use Zebda for form fields validation Disables the validation. Applies the validation. Type of the input. The target. The attributes. Rewrites the target if within object scope. The target. Creates the specified input element using the specified parameters to supply the name, value, id and others html attributes. The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element Creates the specified input element using the specified parameters to supply the name, value, id and others html attributes. The object to get the value from and to be based on to create the element name. Attributes for the FormHelper method and for the html element it generates The generated form element Creates the input element. The type. The value. The attributes. Formats if necessary. The value. The attributes. Obtains the target property. The context. The target. The action. Queries the context for the target value The object to get the value from and to be based on to create the element name. The generated form element Queries the context for the target value The object to get the value from and to be based on to create the element name. The generated form element Obtains the root instance. The context. The object to get the value from and to be based on to create the element name. The generated form element Obtains the root instance. The context. The target. The pieces. Obtains the type of the root. The context. The target. The pieces. Query property paths agains the rootInstance type the object to query property path The generated form element Query property paths agains the rootInstance type the object to query property path start index The generated form element Creates the HTML id. The attributes. The target. The generated form element Creates the HTML id. The attributes. The target. if set to true [remove entry]. The generated form element Determines whether the present value matches the value on the initialSetValue (which can be a single value or a set) Value from the datasource Value from the initial selection set Optional. Property to obtain the value from true if the initial selection is a set true if it's selected Gets the property info for the property with the . Type that has the property. Name of the property. Gets or sets the validator provider. The validator provider. Gets or sets the validator runner. The validator runner. This class is an enumerable list of checkboxes. It uses the to manage the sets and to control the check/uncheck state. Initializes a new instance of the class. The helper. The object to get the value from and to be based on to create the element name. The initial selection set. The set of available elements Attributes for the FormHelper method and for the html element it generates Outputs the Checkbox in the correct state (checked/unchecked) based on the Set. The generated input element Outputs the Checkbox in the correct state (checked/unchecked) based on the Set. The element id The generated input element Outputs a label for the current checkbox element based on the generated id. The text to display The generated label element Outputs a label for the current checkbox element based on the generated id. The text to display The attributes. The generated label element Outputs a label for the current checkbox element based on the given id. The id to use within the label The text to display The attributes. The generated label element Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Advances the enumerator to the next element of the collection. true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. The collection was modified after the enumerator was created. Sets the enumerator to its initial position, which is before the first element in the collection. The collection was modified after the enumerator was created. Gets the current element in the collection. The current element in the collection. The enumerator is positioned before the first element of the collection or after the last element. Gets the current set item. The current set item. Abstracts the approach to access values on objects. Gets the value. The instance. Gets the name. The name. Implementation of that uses reflection to access values Initializes a new instance of the class. The prop info. Gets the value. The instance. Gets the name. The name. Implementation of that uses reflection and recusion to access values Initializes a new instance of the class. The target type to query the property path Gets the value. The instance. Gets the name. The name. Implementation of to access DataRow's value Initializes a new instance of the class. Name of the column. Gets the value. The instance. Gets the name. The name. Implementation of to access DataRowView's value Initializes a new instance of the class. Name of the column. Gets the value. The instance. Gets the name. The name. Empty implementation of a Gets the value. The instance. Gets the name. The name. Implementation of to access enum fields Initializes a new instance of the class. Type of the enum. Gets the value. The instance. Gets the name. The name. Abstract factory for implementations Creates the specified target type. Type of the target. Name of the key. Initializes a new instance of the class. The target. if set to true [is validation enabled]. Gets the root target. The root target. Gets a value indicating whether this instance is validation enabled. true if this instance is validation enabled; otherwise, false. Provides usefull common methods to generate HTML tags. This helper provides the means to generate commonly used HTML tags. All of it's methods return that holds resulting HTML. Initializes a new instance of the class. Initializes a new instance of the class. setting the Controller, Context and ControllerContext. The engine context. Creates a fieldset tag with a legend. <fieldset><legend>legendArg</legend> Legend to use within the fieldset. HTML string opening a fieldset tag, followed by a legend tag. Calling FieldSet( "legendArg" ) results in: <fieldset><legend>legendArg</legend> This example shows how to use together with : $HtmlHelper.FieldSet( "legendArg" ) ... $HtmlHelper.EndFieldSet() Creates a closing fieldset tag. </fieldset> HTML string closing the fieldset. This method should be invoked after to close the fieldset. Calling EndFieldSet() results in: </fieldset> This example shows how to use together with : $HtmlHelper.FieldSet( "legendArg" ) ... $HtmlHelper.EndFieldSet() This method has three overloads. Creates a form tag with "post" method and specified . <form method="post" action="actionArg"> Target action for the form. HTML string with form opening tag. Calling Form( "actionArg" ) results in: <form method="post" action="actionArg"> This example shows how to use together with : $HtmlHelper.Form( "actionArg" ) ... $HtmlHelper.EndForm() Creates a form tag with the specified , and attributes. <form method="methodArg" action="actionArg" id="idArg"> Target action for the form. Form HTML ID. Form method (get, post, etc). HTML string with form opening tag. Calling Form( "actionArg", "idArg", "methodArg" ) results in: <form method="methodArg" action="actionArg" id="idArg"> This example shows how to use Form together with : $HtmlHelper.Form( "actionArg", "idArg", "methodArg" ) ... $HtmlHelper.EndForm() Creates a form tag with the specified and attributes, and event handler. <form method="methodArg" action="actionArg" id="idArg" onsubmit="onSubmitArg"> Target action for the form. Form HTML ID. Form method (get, post, etc). JavaScript inline code to be invoked upon form submission. HTML string with form opening tag. Calling Form( "actionArg", "idArg", "methodArg", "onSubmitArg" ) results in: <form method="methodArg" action="actionArg" id="idArg" onsubmit="onSubmitArg"> This example shows how to use Form together with : $HtmlHelper.Form( "actionArg", "idArg", "methodArg", "submitHandler()" ) ... $HtmlHelper.EndForm() Creates a form tag with the specified attribute. <form action="actionArg"> Target action for the form. Html Attributes for the form tag HTML string with form opening tag. Creates a form tag targeting a URL in the style of the methods. An action on the current controller. HTML string with form opening tag. Creates a form tag targeting a URL in the style of the methods. A controller name. An action on . HTML string with form opening tag. Creates a form tag targeting a URL in the style of the methods. A controller name. An action on . Object to use for the action ID argument. HTML string with form opening tag. Creates a form tag targeting a URL in the style of the methods. A controller name. An action on . Additional attributes for the form tag. HTML string with form opening tag. Creates a form tag targeting a URL in the style of the methods. A controller name. An action on . Object to use for the action ID argument. Additional attributes for the form tag. HTML string with form opening tag. Creates a form tag targeting a URL in the style of the methods. A controller name. An action on . Object to use for the action ID argument. Form method (get, post, etc). Additional attributes for the form tag. HTML string with form opening tag. Creates a closing form tag. </form> HTML string with form closing tag. Calling EndForm() results in: </form> This example shows how to use together with : $HtmlHelper.Form( "actionArg", "idArg", "methodArg", "submitHandler()" ) ... $HtmlHelper.EndForm() This method has two overloads. Creates an anchor (link) to the <a href="/sometarget.html">linkText</a> link's target. Text of the link. HTML string with anchor to the specified . Calling Link( "something.html", "to something" ) results in: <a href="something.html">something</a> This example shows how to use Link: $HtmlHelper.Link( "mypage.html", "This is a link to my page" ) Creates an anchor (link) to the <a href="/sometarget.html">linkText</a> link's target. Text of the link. Additional attributes for the a tag. HTML string with anchor to the specified . Calling Link( "something.html", "to something", $DictHelper.CreateDict("class=mylinkclass") ) results in: <a href="something.html" class="mylinkclass">something</a> This example shows how to use Link: $HtmlHelper.Link( "mypage.html", "This is a link to my page", $DictHelper.CreateDict("class=mylinkclass") ) This method has three overloads. Creates an anchor (link) to the on the current controller. <a href="/website/currentController/actionArg.rails">nameArg</a> Name for the link. Action to link to. HTML string with anchor to the specified . Calling LinkTo( "nameArg", "actionArg" ) results in: <a href="/websiter/currentController/actionArg.rails">nameArg</a> This example shows how to use LinkTo: $HtmlHelper.LinkTo( "linkName", "requiredAction" ) This method has three overloads. Creates an anchor (link) to the on the current controller. <a href="/website/currentController/actionArg.rails">nameArg</a> Name for the link. link options HTML string with anchor to the specified . Calling LinkTo( "nameArg", DictHelper.CreateDict("controller=home","action=index") ) results in: <a href="/websiter/home/index.rails">nameArg</a> This example shows how to use LinkTo: $HtmlHelper.LinkTo( "linkName", DictHelper.CreateDict("controller=home","action=index") ) Creates an anchor (link) to the on the specified . <a href="/website/controllerArg/actionArg.rails">nameArg</a> Name for the link. Controller to link to. Action to link to. HTML string with anchor to the specified and . Calling LinkTo( "nameArg", options ) results in: <a href="/website/controllerArg/actionArg.rails">nameArg</a> This example shows how to use LinkTo: $HtmlHelper.LinkTo( "linkName", {@action:} ) Creates an anchor (link) to the on the specified passing provided . <a href="/website/controllerArg/actionArg.rails?id=objectId">nameArg</a> Name for the link. Controller to link to. Action to link to. Object to use for the action ID argument. HTML string with anchor to the specified , and . Calling LinkTo( "nameArg", "controllerArg", "actionArg", object ) results in: <a href="/website/controllerArg/actionArg.rails?id=object">nameArg</a> is used to convert to the actual . This example shows how to use LinkTo: $HtmlHelper.LinkTo( "linkName", "someController", "requiredAction", objectToRefByID ) Creates an anchor (link) to the on the specified <a href="/website/controllerArg/actionArg.rails">nameArg</a> Name for the link. Controller to link to. Action to link to. Additional attributes for the a tag. HTML string with anchor to the specified Calling LinkToAttributed( "nameArg", "controllerArg", "actionArg", IDictionary ) results in: <a href="/website/controllerArg/actionArg.rails">nameArg</a> This example shows how to use LinkToAttributed: $HtmlHelper.LinkToAttributed( "linkName", "someController", "requiredAction", $DictHelper.CreateDict("class=something") ) Creates an anchor (link) to the on the specified <a href="/website/controllerArg/actionArg.rails?id=x">nameArg</a> Name for the link. Controller to link to. Action to link to. The ID to be passed as a parameter for the action Additional attributes for the a tag. HTML string with anchor to the specified Calling LinkToAttributed( "nameArg", "controllerArg", "actionArg", IDictionary ) results in: <a href="/website/controllerArg/actionArg.rails">nameArg</a> This example shows how to use LinkToAttributed: $HtmlHelper.LinkToAttributed( "linkName", "someController", "requiredAction", $DictHelper.CreateDict("class=something") ) Creates an anchor (link) to the on the current controller that posts using a hidden form element. Name for the link. Action to link to on the current controller. HTML string with anchor that posts to the current controller Creates an anchor (link) to the on the current controller that posts using a hidden form element. Name for the link. Action to link to on the current controller. The ID to be passed as a parameter for the action. HTML string with anchor that posts to the current controller Creates an anchor (link) to the on the current controller that posts using a hidden form element. Name for the link. Action to link to on the current controller. Guards the form submission with a javascript confirm popup. HTML string with anchor that posts to the current controller Creates an anchor (link) to the on the current controller that posts using a hidden form element. Name for the link. Action to link to on the current controller. The ID to be passed as a parameter for the action. Guards the form submission with a javascript confirm popup. HTML string with anchor that posts to the current controller Creates an anchor (link) to the on the specified that posts using a hidden form element. Na