用于隐藏文本框值的MVC4 ActionLink语法

时间:2013-08-29 08:31:22

标签: asp.net-mvc

将两个隐藏文本框中的两个值传递给控制器​​方法的秘诀是什么?我尝试了下面的语法,但得到:CS0103:当前上下文错误消息中不存在名称“SearchLatitude”。它没有看到或喜欢我的名为SearchLatitude的隐藏文本框。不知道该怎么做,谢谢。

@Html.ActionLink("SORT BY DISTANCE", "DisplayJobsDistance", "Job", new { Latitude = SearchLatitude, Longitude = SearchLongitude }, null)

<input type="hidden" name="SearchLatitude" id="SearchLatitude"> 
<input type="hidden" name="SearchLongitude" id="SearchLongitude"> 

2 个答案:

答案 0 :(得分:2)

您的ActionLink命令无法正常工作,因为它正在名为SearchLatitude的视图中查找属性。您需要将此添加到传递给视图的模型中。如果您不了解这些值,可能是因为它们在客户端中添加了JavaScript,那么一些jQuery会有所帮助。

@Html.ActionLink("SORT BY DISTANCE", "DisplayJobsDistance", "Job", null, new {id="sortlink"})

$("#sortlink").click(function()
{
    var $lat = $("#SearchLatitude").val();
    var $lon = $("#SearchLongitude").val();

    $(this).attr("href", $(this).attr("href") + "?latitude=" + $lat" + "&longitude=" + $lon);
}

答案 1 :(得分:0)

我用过:

@model Person
@Html.HiddenFor(i => i.Id)
@Html.ActionLink("Person", "Edit", new { id = Model.Id })