5

我正在使用Html.ActionLink(string linkText, string actionName, object routeValues)重载将一些参数发送到操作方法..

有时我需要传递一个空参数值,例如:?item1=&item2=value

我在我创建的匿名类型中指定参数并传递为routeValues,但两者都null导致string.EmptyURL 省略空item1参数。

new { item1 = null, item2 = "value" } 
new { item1 = string.Empty, item2 = "value" }
new { item1 = "", item2 = "value" }

// all result in:
?item2=value

我可以手动创建 URL,但我想使用辅助方法。

建议?

4

1 回答 1

5

创建一个EmptyParameter类,如下所示:

public class EmptyParameter
{
    public override string ToString()
    {
        return String.Empty;
    }
}

然后:

@Html.ActionLink("Action",
                 "Controller",
                  new { item1 = new EmptyParameter(), item2 = "value" });
于 2013-07-17T14:24:04.537 回答