Frage

Ich bin mit der neuen Razor-Ansicht-Engine mit ASP.NET MVC und würde gerne wissen, wie die Editor-Vorlage Masterseite in ähnlicher Art und Weise zu ändern, wie es gemacht wird in dieser Blog-Post . Gibt es Beispiele, wie dies mit Razor zu tun?

War es hilfreich?

Lösung

Sie könnten das gleiche mit der Razor-Ansicht-Engine erreichen.

Modell:

public class MyViewModel
{
    public string Value { get; set; }
}

Controller:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        var model = new MyViewModel
        {
            Value = "foo"
        };
        return View(model);
    }
}

Ansichten:

~/Views/Home/Index.cshtml:

@model MyApp.Models.MyViewModel

@{ Html.BeginForm(); }

    @Html.EditorFor(x => x.Value)
    <input type="submit" value="OK" />

@{ Html.EndForm(); }

~/Views/Home/EditorTemplates/Template.cshtml:

<p>Some text before template</p>
@RenderBody()
<p>Some text after template</p>

~/Views/Home/EditorTemplates/string.cshtml:

@model System.String
@{
    Layout = "~/Views/Home/EditorTemplates/Template.cshtml";
}
<div>@Html.TextBoxFor(x => x)</div>

Beachten Sie, wie die string Editor-Vorlage angepasst wurde und die Template.cshtml als Master-Layout verwendet wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top