Skip to main content

Function in Razor view (@helper in razor)


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

Popular posts from this blog

Using SqlDataAdapter to fill DataTable in c#

public DataTable List(string sql)         {             SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);             SqlCommand cmd = new SqlCommand(sql, con);             DataTable dt = new DataTable();             SqlDataAdapter da = new SqlDataAdapter(cmd);             try             {                              con.Open();                 da.Fill(dt);             }             finally             {                 con.Close();             }             return dt;         }

Pivot in Oracle for Dynamic Columns

Pivot in SQL refers to the change of rows into columns based on specific constraints. An example of pivot could be the transpose of matrix. Example: a matrix containing day as 1st row and sales as 2nd row for  specific day sun    10 mon  20 tue    30 The transpose of the above matrix would be sun mon tue 10  20  30 This is an example scenario of pivot in sql. Now, Lets get on to the actual tables in database and see how we can use pivot . Starting with a fictional scenario, assume a table which contains two columns DAYS and SALES. CREATE TABLE TEST.DAILY_SALES (   DAYS   VARCHAR2(10),   SALES  NUMBER ) insert into DAILY_SALES('SUN',10); insert into DAILY_SALES('MON',20); insert into DAILY_SALES('TUE',15); insert into DAILY_SALES('WED',25); insert into DAILY_SALES('THU',10); insert into DAILY_SALES('FRI',30); insert into DAILY_SALES('SAT',5); Now when we execute the following select statement se