public virtual HtmlDocument BuildView(LoginRequest request) { // TODO -- Revisit all of this when we get HTML conventions everywhere var view = new FubuHtmlDocument <LoginRequest>(_services, _request); var form = view.FormFor <LoginRequest>(); form.Append(new HtmlTag("legend").Text(LoginKeys.Login)); if (request.Message.IsNotEmpty()) { form.Append(new HtmlTag("p").Text(request.Message).Style("color", "red")); } form.Append(view.Edit(x => x.UserName)); form.Append(view.Edit(x => x.Password)); form.Append(view.Edit(x => x.RememberMe)); form.Append(view.DisplayFor(x => x.Message).Id("login-message")); form.Append(new HiddenTag().Name("Url").Attr("value", request.Url)); form.Append(new HtmlTag("input").Attr("type", "submit").Attr("value", LoginKeys.Login).Id("login-submit")); view.Add(form); view.Add(new LiteralTag(view.WriteExtensions().ToHtmlString())); return(view); }