Asp.net mvc 3 如何为包含多个单词的操作名称插入空格?

Asp.net mvc 3 如何为包含多个单词的操作名称插入空格?,asp.net-mvc-3,asp.net-mvc-4,Asp.net Mvc 3,Asp.net Mvc 4,我尝试在页面上显示面包屑: @if (ViewContext.RouteData.Values["controller"] != "MainController") { <li> @Html.ActionLink(ViewContext.RouteData.Values["controller"] .ToString(), "Index", ViewContext.RouteData.Values["contro

我尝试在页面上显示面包屑:

@if (ViewContext.RouteData.Values["controller"] != "MainController")
{
    <li>
        @Html.ActionLink(ViewContext.RouteData.Values["controller"]
            .ToString(), "Index",
            ViewContext.RouteData.Values["controller"].ToString())
    </li>
}
@if (ViewContext.RouteData.Values["action"] != "Index")
{
    <li>
        @Html.ActionLink(ViewContext.RouteData.Values["action"]
            .ToString(), ViewContext.RouteData.Values["action"].ToString(),
             ViewContext.RouteData.Values["controller"].ToString())
    </li>
}
@if(ViewContext.RouteData.Values[“controller”]!=“MainController”)
{
  • @ActionLink(ViewContext.RouteData.Values[“controller”] .ToString(),“索引”, ViewContext.RouteData.Values[“controller”].ToString()
  • } @if(ViewContext.RoutedData.Values[“action”]!=“Index”) {
  • @ActionLink(ViewContext.RouteData.Values[“action”] .ToString(),ViewContext.RoutedData.Values[“action”]。ToString(),0, ViewContext.RouteData.Values[“controller”].ToString()
  • }
    这对于显示“Controller”或“Controller>Action”(不使用“>”-am使用jbreadcrumps显示分隔符)非常有效

    但是,例如,如果我的操作名称类似于
    ScheduleAppointment
    ,则它将显示为“控制器>ScheduleAppointment”,而我希望它显示为“ScheduleAppointment”(即插入空格)

    是否可以在页面上的
    @{}
    函数中执行此操作?还是我必须写一个扩展


    在这两种情况下,代码示例都会大有帮助。谢谢。

    您可以使用“DisplayName”属性创建自定义属性,并将其放在操作中。然后在视图中,您可以访问当前控制器

    ViewContext.Context
    
    并使用反射获取当前操作的自定义属性实例,并获取“DisplayName”属性值。
    或者,您可以在ViewBag中设置属性,然后在view中使用它。

    我该如何做,因为我无法理解它。谢谢。你到底想不出什么?如何创建您可以在此处找到的自定义aa贡。要使用反射获取自定义属性的属性,请使用类似以下内容:ViewContext.Context.GetType().GetMethod(ViewContext.RoutedData.Values[“action”].ToString()).Attributes.First(x=>x是CustomAttribute)。DisplayNamei thik如果要回答问题,应尽可能给出完整的答案。就目前而言,你目前的回答更像是一个评论。我这样说只是为了帮助你自己和OP追求质量