将参数传递到htm.actionlink中会产生奇怪的结果

本文关键字:结果 参数传递 htm actionlink | 更新日期: 2023-09-27 18:23:42

我有一个将参数传递到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的东西

感谢:)

将参数传递到htm.actionlink中会产生奇怪的结果

尝试

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

正在添加null作为最后一个参数。我想我以前见过这种情况,添加null就成功了。

我不确定length是从哪里来的,但这是Html.ActionLink有这么多过载的奇怪副作用。

编辑:

啊,刚刚发现这个:

为什么Html.ActionLink渲染"?Length=4"