Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 令人费解的。。。为什么在ASP.NET MVC中,我的大多数链接都附加了Length=4?_C#_Html_Asp.net Mvc - Fatal编程技术网

C# 令人费解的。。。为什么在ASP.NET MVC中,我的大多数链接都附加了Length=4?

C# 令人费解的。。。为什么在ASP.NET MVC中,我的大多数链接都附加了Length=4?,c#,html,asp.net-mvc,C#,Html,Asp.net Mvc,为什么会出现以下代码: <%= Html.ActionLink("[Click Here For More +]", "Work", "Home", new { @class = "more" }) %> 渲染为: <a class="more" href="/Home/Work?Length=4">[Click Here For More +]</a> “长度=4”是从哪里来的 更新 如果我删除新的{@class=“more”},我就不会得到L

为什么会出现以下代码:

<%= Html.ActionLink("[Click Here For More +]", "Work", "Home", new { @class = "more" }) %>

渲染为:

<a class="more" href="/Home/Work?Length=4">[Click Here For More +]</a> 

“长度=4”是从哪里来的

更新


如果我删除
新的{@class=“more”}
,我就不会得到Length=4参数。

您的一条路由中是否有默认的“Length”值?如果选择了错误的路由,请使用Html.RouteLink而不是ActionLink。

看起来像DebuggerVisualizer属性!但这不应该浮出水面


总之,“Length=4”看起来像一个数组(有4个元素)。使用调试器查找罪魁祸首。

我查看了ActionLink的重载,并将代码更改为:

    <%= Html.ActionLink("[Click Here For More +]", "Work", "Home", null, new { @class = "more" }) %>


为路由值添加了一个“null”。这似乎奏效了。不确定这会影响什么。

我以前也有过这种情况。如果你看看你实际使用的重载,它可能不是你想要的

试试看

<%= Html.ActionLink("[Click Here For More +]", "Work", "Home", null, new { @class = "more" }) %>

长度=4的问题已经出现了好几次。罪魁祸首通常是一条糟糕的路线,无论是在定义上还是在我使用的链接上


我养成了一个习惯,总是先仔细检查一下这些东西。

好主意!IIRC匿名类型被转换成字典。也实现了这一点!是的,这让我抓狂了大约一个小时,然后它击中了我。