我有一个将参数传递给htm.action链接
我的代码:
控制器:
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/NewsInfo?id=@news.Id"> more >> </a>
它运作正常,但我想使用ActionLink
所以如何正确传递参数?这两种方法有什么区别。
最后一个问题这个链接显示more >>;
(在分号的末尾有分号?)
如果答案是遗忘的,请不要生气我正在开始mvc的事情
谢谢:)
答案 0 :(得分:1)
尝试
@Html.ActionLink("more >>", "NewsInfo", "Home", new { id = news.Id }, null);
添加null作为最后一个参数。我想我以前见过这个,并且添加null就可以了。
我不确定length
来自哪里,但这是Html.ActionLink
有这么多重载的奇怪副作用。
编辑:
啊,刚发现这个: