We can create function in cshtml by using @helper syntax
syntax:
@helper <FunctionName>(paramtype param1)
{
//your custom logic
}
Here the function is same as the one we write in class file except "@helper" .
This function can be invoked from any where in the view simply like this
@FunctionName(param1);
@helper syntax enables in code reusability
scenario : Following code implements recursive function using @helper in view
@helper Recurson(IEnumerable<Menu> nodes, int? parentId)
{
if (nodes.Any(n => n.ParentId == parentId))
{
<ul>
@foreach (var node in nodes.Where(n => n.ParentId == parentId))
{
<li>
@node.Name
@Recursion(node.Menus, node.Id)
</li>
}
</ul>
}
}
@Recurson(Model.Menus, Model.Id)
In Above Code Menu Contains hierarchical data which will be iterated over to generate unordered list of the data.
For Complete working code please refer to my post : Implementing JsTree in Asp.net MVC
Comments
Post a Comment