来自Adam Freeman的Pro.ASP.NET.MVC.3.Framework中的错误

时间:2012-08-26 17:02:01

标签: asp.net-mvc-3

我正在关注Adam Freeman撰写的Pro.ASP.NET.MVC.3.Framework这本书。 所以我下载了代码并在他的菜单类别中生成了这个html代码。

html:

<a class="" href="/Chess%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20">Chess                                             </a>

按下链接时的结果(显而易见):

http://localhost:43190/Chess%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20

我不知道有人对这本书有这个问题。

我尝试使用global.asax:

 routes.IgnoreRoute("favicon.ico");
            routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });

在我的布局中:

 <link rel="shortcut icon" href="@Url.Content( "~/Content/themes/base/images/favicon.ico" )" type="image/x-icon" />

在我的ninject控制器中:

  protected override IController GetControllerInstance(System.Web.Routing.RequestContext requestContext, Type controllerType)
        {

            if (controllerType != null)
            {
                return (IController)ninjectKernel.Get(controllerType);
            }
            else
            {
                return base.GetControllerInstance(requestContext, controllerType);
            }

        }

我不知道是否有人和我有同样的问题。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

编辑: 真正的答案 好的我明白知道我的sql是nvarchar所以它生成了空格,我改为varchar并且知道不生成blanck空格

我在某处读到添加.trim()它会做到这一点是的,我不明白为什么它这样做(%20%20%20%20%20%20%20%20%20%20%20 %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20 %20%20%20%20%20%20%20%20%20)

为此更改此“category = link”  “category = link.Trim(),”

Menu.chtml

@model IEnumerable<string>
    @{
        Layout = null;
    }
    @Html.ActionLink("Home", "List", "Product")
    @foreach (var link in Model)
    {
        @Html.RouteLink(link, new {
    controller = "Product",
    action = "List",
    category = link.Trim(),
    page = 1
    }, new {@class = link == ViewBag.SelectedCategory ? "selected": null}
    )
    }

答案 1 :(得分:1)

您应该看到MSSQL数据库。在本书中,作者对nchar列使用Category类型,您应该使用类型nvarcharnchar用空格填充行尾(%20)。或者,您可以在SQL Designer中的字段上设置ANSI-PADDING {off}