精通ASP.NET MVC ——辅助器方法

本文详细介绍了ASP.NET MVC中的辅助器方法,包括创建内联和外部辅助器方法,以及如何使用和编码。通过实例展示了如何创建自定义辅助器,以及辅助器方法在处理字符串编码、表单和输入元素等方面的应用。同时,还探讨了内置的Form辅助器方法和指定路由的方法。
摘要由CSDN通过智能技术生成

辅助器方法(Helper Method),其作用是对代码块和标记进行打包,以便能够在整个MVC框架应用程序中重用。

首先新建一个项目,添加一个Home控制器,如下图所示:

    public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            ViewBag.Fruits = new string[] { "Apple", "Orange", "Pear" };
            ViewBag.Cities = new string[] { "New York","London","Paris"};
            string message = "This is an HTML element:<input>";
            return View((object)message);
        }
    }

对应的视图Index.cshtml页面,代码如下图所示: 


@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div> 
        Here are the fruites:
        @foreach (string str in (string [])ViewBag.Fruits)
        {
            <b>@str</b>
        }
    </div>

    <div>
        Here are the cities:
        @foreach (string str in (string [])ViewBag.Cities)
        {
            <b>@str</b>
        }
    </div>

    <div>
        Here is the message:
        <p>@Model</p>
    </div>
</body>
</html>

运行效果如下图所示: 

            


创建内联的自定义辅助器方法

修改Index.cshtml页面,代码如下图所示:


@{
    Layout = null;
}

@helper ListArrayItems(string [] items) { 
    foreach (string str in items)
    {
        <b>@str</b>
    }
}

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div> 
        Here are the fruites:@ListArrayItems(ViewBag.Fruits)
    </div>

    <div>
        Here are the cities:@ListArrayItems(ViewBag.Cities)
    </div>

    <div>
        Here is the message:
        <p>@Model</p>
    </div>
</body>
</html>

在上述代码中,定义了一个名称为ListArrayItems的辅助器,它以一个字符串数组为参数。 虽然内联辅助器看上去像一个方法。但是它没有返回值。这种办法的好处是,如果希望改变数组内容显示的方式,只需要一处修改,如下图所示:

@helper ListArrayItems(string [] items) {
    <ul>
        @foreach (string str in items)
        {
        <li>@str</li>
        }
    </ul>
}

运行效果如下图所示: 

                           


创建外部辅助器方法 

内联辅助器是方便的,但是只能在声明它们的视图之中使用,而且,如果内联辅助器太复杂,可能会占据视图,影响阅读。这时就可以用到外部辅助器方法。在项目中添加一个Infrastructure文件夹,并创建一个新的类文件CustomHelp.cs,如下图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值