mvc@helper 的用法
Razor中的@helper语法让您能够轻松创建可重用的帮助器方法,此方法可以在您的视图模板中封装输出功能。他们使代码能更好地重用,也使代码更具有可读性。
字面意思就封装一些我们需要常用到的方法等 方便不同的地方使用(这里的地方是视图模版)
还是看例子吧!
如图:我们好多地方都引用到css还有js
也许你其他地方也需要加载这些js或者css 也许你会说在Shared里面新建一个cshtml页面 在其他页面头部直接加:
@{ Layout = "~/Views/Shared/Customer.cshtml" ; } |
这样也可以,不过要是比如这种情况呢?(引用网上的图片)
里面我们看到的就是if else 需求也和上面一样你说怎么办呢?
还记得我开头说的这句话吧
@helper语法让您能够轻松创建可重用的帮助器方法,此方法可以在您的视图模板中封装输出功能。他们使代码能更好地重用,也使代码更具有可读性。
好了我们在项目解决方案中新建一个文件夹叫App_code ->新建一个tsp.cshtml 页面 名字任意定义。
@ using System.Web.Mvc @helper Script( string jsName,UrlHelper Url) { <script src= "@Url.Content(" ~/Scripts/ " + jsName)" type= "text/javascript" ></script> } @helper Css( string cssName, UrlHelper Url) { <link href= "@Url.Content(" ~/Content/ " + cssName)" rel= "stylesheet" type= "text/css" /> } |
其他cshtml页面调用:
直接在head上:
@tsp.Css("addVehicle.css",Url) @tsp.Script("xx.js",Url)
当然你也可以写上你的逻辑代码如图:
和上面的调用方法一样 !
附加 mvc弹出alert
ViewBag.Script="<script>alert('我是alert');</script>";
@Html.Raw(ViewBag.Script)
或者:
return Content("<script >alert('我是alert!');</script >", "text/html");
还有一种:
<script type="text/javascript" >
function msgShow()
{
alrer('我是弹出框');
}
</script >
然后在页面判断是否调用该方法:
@if(ViewBag.Msg.ToString()=="True") { msgShow(); }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步