我有以下代碼:現在C#,ASP.NET MVC/MVC2:Url.Action - 連結具體參數,留下一出
Url.Action("Index", "Home", new {param1 = Model.Param1, param2 = Model.Param2})
,如果參數2是NullOrEmpty我想用鏈接如下代碼:
Url.Action("Index", "Home", new {param1 = Model.Param1})
是否有更簡單的方法來做到這一點還是我需要做這樣的事情:
string myLinkVal = (Model.Param2 == string.IsNullOrEmpty()) ?
Url.Action("Index", "Home", new {param1 = Model.Param1}) :
Url.Action("Index", "Home", new {param1 = Model.Param1, param2 = Model.Param2});
編輯:
謝謝你的回答。問題是,我的鏈接中有空白參數。
我有以下途徑:
"/{param1}/{param2}/{controller}/{action}/{id}"
...
"/{param1}/{controller}/{action}/{id}"
當參數2爲空,我想用其他的路由(一個無參數2)。
目前我只能用
new {param1 = Model.Param1, param2 = Model.Param2}
或
new {param1 = Model.Param1}
那麼正確的路線挑選archieve這一點。
謝謝你的回答。我的問題是,這種方式我有我的網址中的空參數。我編輯了我的原始帖子。非常感謝您的幫助! – Chris 2010-12-08 21:34:42
鑑於您的更新信息,您可能只能使用命名路線實現您想要的內容。以下鏈接介紹了它們的工作方式:http://dotnet.dzone.com/articles/named-routes-aspnet-mvc。實際上,如果將param2移動到路由模板的末尾,您可能不會使用命名路由,但不確定這是否是一個選項。 – 2010-12-09 01:24:24