View正在向控制器发送空值

ram*_*aaa 0 c# url model-view-controller asp.net-mvc razor

我有一个视图文件,我试图将URL发送到控制器文件我的视图文件看起来像:

@model WebRole1.Models.CodeSnippet

@{
    ViewBag.Title = "Details";
}

<p>
     @Html.ActionLink("Preview", "Preview", new { Model.URL }) |       
</p>
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我试图将url值发送到控制器文件.控制器文件中的功能如下

public ActionResult Preview(object zipPath)
{
    // some operation...
}
Run Code Online (Sandbox Code Playgroud)

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

Far*_*yev 6

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

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

  @Html.ActionLink("Preview", "Preview", new { zipPath = Model.URL })
Run Code Online (Sandbox Code Playgroud)

附加信息:

如果您已zipPath在路线中包含作为网址细分,则该细分将由路由细分分配给此细分.否则,我们提供的值将作为查询字符串的一部分添加.