视图正在向控制器发送空值

View is sending null value to the controller

我有一个视图文件,我正在尝试将 url 发送到控制器文件 我的视图文件如下所示:

@model WebRole1.Models.CodeSnippet

@{
    ViewBag.Title = "Details";
}

<p>
     @Html.ActionLink("Preview", "Preview", new { Model.URL }) |       
</p>

在上面的代码中,我试图将 url 值发送到控制器文件。控制器文件中的函数看起来像

public ActionResult Preview(object zipPath)
{
    // some operation...
}

但是由于某些原因,视图正在向控制器发送空值。即当调用控制器的 Preview 方法时 zipPath 值保持为空。可能是什么问题?

您的操作方法是等待 属性,名称为zipPath。但是,由于您没有在匿名对象中为 属性 提供名称,因此默认情况下它将是 URL

因此,将您的代码更改为:

  @Html.ActionLink("Preview", "Preview", new { zipPath = Model.URL })

附加信息:

如果您在路线中包含 zipPath 作为 URL 路段,则该路线路段将分配给该路段。否则,我们提供的值将作为查询字符串的一部分添加。