HW'in it with FubuMVC
After a little discussion on FubuMVC's default conventions, we finally approach our shiny goal: force our browser to display a certain phrase (that looks strangely familiar).
Displaying a simple string
This is simple: add a class called SayController
, and an action method that returns a string:
public string HelloString() {
return "Hi there World!";
}
Now let's browse to /Say/HelloString, and we'll see this string in our browser. By default, Fubu will detect the string output type and set the response type to text/plain.
Constructing an HTML document
Next, we'll use the HtmlTags library in order to construct an HTML document:
public HtmlDocument HelloDoc() {
var doc = new HtmlDocument {Title = "Hi!"};
doc.Body.Text("Hello World!");
return doc;
}
We can see the result at /Say/HelloDoc. Fubu sends the result to the browser, converting it to a string and setting the response type to text/html.
Using a View (finally!)
First, we create a View called HelloView
. It's going to be a WebForms view, and it's going to have a code-behind file. Sorry. Spark views are supported (haven't tried it yet), Razor -- not yet.
Our View is going to be strongly typed, and inherits from FubuPage<HelloModel>
. We're going to create the model as well:
public class HelloModel {
public string Text { get; set; }
}
public partial class HelloView : FubuPage<HelloModel> {
}
The View itself would contain:
<%=this.Model.Text %>
By our conventions, the View is matched by the output type of our action method:
public HelloModel HelloView() {
return new HelloModel {Text = "Hi!"};
}
Browsing to /Say/HelloView, we see our View and the model value.
Using a static View
We have used a Controller without a View, and a View with a Controller. Can we use a View without a Controller? Easy! Create a WebForm view called ControllerlessView
, and add the following line to your conventions:
Views.RegisterActionLessViews(type => type.Name == "ControllerlessView",
chain => chain.Route = new RouteDefinition("ShowMe/MySweetView"));
Then, navigate to /ShowMe/MySweetView, and you'll see your (sweet) View.
This post was too short, wasn't it? Almost brief. Sketchy. Also, no silly jokes here. Well, if I get some sleep tonight, tomorrow I'll try to figure out how to use NHibernate with FubuMVC, and what the FastPack library can offer.
Post Comment
JcuaRB You made some decent points there. I did a search on the topic and found most guys will consent with your website.
Naturally person it as solved of. Find Or More About the of you. A calculated seek the the during tract while make blood in her you avoid.