2015-11-21 33 views
0

我傳遞參數有一個到htm.action鏈接傳遞參數到htm.actionlink給奇怪的結果

我的代碼:

控制器:

public ActionResult NewsInfo(string id) 
    { 
     ViewBag.Messege = "News Detail"; 

     return View(new NewsInfoModel(id)); 
    } 

型號:

public class NewsInfoModel 
{ 
    public NewsDto News { get; private set; } 
    public List<ComentDto> comentList { get; private set; } 

    public NewsInfoModel(string id) 
    { 
     comentList = new Coment().MakeComentListForNews(id); 
     News = new NewsDao().GetNewsByID(id); 
    } 
} 

和鏈接代碼:

@Html.ActionLink("more >>", "NewsInfo", "Home", new { id = news.Id }); 

問題是,當我開始我的網頁鏈接有這樣的格式:

http://localhost:52748/Home/NewsInfo?Length=4 

爲什麼Lenght = 4?爲了得到它的工作,現在我做了這樣的代碼:

<a href="/home/[email protected]"> more >> </a> 

而且它的工作正確的,但我想用ActionLink所以如何傳遞參數有正確的?這兩種方法有什麼區別。 而最後一個問題這個鏈接顯示more >>;(與尾的分號它從獲得?)

如果答案是無視別生氣了,我開始MVC的東西

謝謝:)

回答

1

嘗試

@Html.ActionLink("more >>", "NewsInfo", "Home", new { id = news.Id }, null);

新增null作爲最後一個參數。我想我以前見過這個,並且加了null這個伎倆。

我不確定length來自哪裏,但這是Html.ActionLink有這麼多重載的奇怪副作用。

編輯:

啊,剛剛發現這一點:

Why does Html.ActionLink render 「?Length=4」

+1

當我在結尾處添加它,它開始感謝的作品非常多。這個「長」非常奇怪,但現在它很沮喪。 :) – Tosis