Asp.net templated razor delegates
-
Upload
learningtech -
Category
Technology
-
view
441 -
download
6
Transcript of Asp.net templated razor delegates
![Page 1: Asp.net templated razor delegates](https://reader036.fdocuments.us/reader036/viewer/2022082808/5555d3bcd8b42aaf158b4e49/html5/thumbnails/1.jpg)
ASP.NET MVC
Templated Razor Delegates
Jason
![Page 2: Asp.net templated razor delegates](https://reader036.fdocuments.us/reader036/viewer/2022082808/5555d3bcd8b42aaf158b4e49/html5/thumbnails/2.jpg)
Templated Razor Delegates
Index.cshtml
@{ Func<dynamic, object> strongTag = @<strong>@item</strong>; }
<span>This sentence is @strongTag("Jason").</span>
![Page 3: Asp.net templated razor delegates](https://reader036.fdocuments.us/reader036/viewer/2022082808/5555d3bcd8b42aaf158b4e49/html5/thumbnails/3.jpg)
@Helper Syntax
Index.cshtml
@helper Create(string name, int age) { <p> <span>@name</span> <span>@age</span> </p> }
@Create("Jason", 18)
![Page 4: Asp.net templated razor delegates](https://reader036.fdocuments.us/reader036/viewer/2022082808/5555d3bcd8b42aaf158b4e49/html5/thumbnails/4.jpg)
@Helper Syntax
Person.cshtml in App_Code Folder
@helper Create(string name, int age) { <p> <span>@name</span> <span>@age</span> </p> }
Index.cshmtl
@Person.Create("Jason", 18)
![Page 5: Asp.net templated razor delegates](https://reader036.fdocuments.us/reader036/viewer/2022082808/5555d3bcd8b42aaf158b4e49/html5/thumbnails/5.jpg)
HelperResult Class
Index.cshtml
@{ var items = new[] { "one", "two", "three" }; } <ul>
@items.List(@<li>@item</li>) <ul>
![Page 6: Asp.net templated razor delegates](https://reader036.fdocuments.us/reader036/viewer/2022082808/5555d3bcd8b42aaf158b4e49/html5/thumbnails/6.jpg)
HelperResult Class
RazorExtensions.cs
public static HelperResult List<T>(this IEnumerable<T> items, Func<T, HelperResult> template){return new HelperResult(writer =>
{ foreach (var item in items) {
template(item).WriteTo(writer); }});
}
![Page 7: Asp.net templated razor delegates](https://reader036.fdocuments.us/reader036/viewer/2022082808/5555d3bcd8b42aaf158b4e49/html5/thumbnails/7.jpg)
Reference
Templated Razor Delegates http://haacked.com/archive/2011/02/27/templated-razor-
delegates.aspx
Helper syntax within Razor http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-
3-and-the-helper-syntax-within-razor.aspx
MSDN-HelperResult http://msdn.microsoft.com/zh-tw/library/
system.web.webpages.helperresult(v=vs.111).aspx