【发布时间】:2014-08-12 18:13:37
【问题描述】:
我希望我的 Ajax.ActionLink 将 viewModel 属性传递给操作。
这是我的视图模型
public class ViewModel
{
public string Searchtext { get; set; }
}
我的 .cshtml
@Ajax.ActionLink("Bottom3", "Bottom3",new { name = Model.Searchtext}, new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "pointsDiv"
})
using(Html.BeginForm("Bottom3", "Home", FormMethod.Get))
{
@Html.TextBoxFor(x => x.Searchtext)
<button type="submit">Search</button>
}
<div id="pointsDiv"></div>
}
我的控制器操作:
public PartialViewResult Bottom3(string name)
{
var model = db.XLBDataPoints.OrderBy(x => x.DataPointID).Take(3).ToList();
return PartialView("Partial1", model);
}
但传递给动作的名称参数始终为空。我该如何解决?
【问题讨论】:
-
您有两种方法可以在视图中发布值:ActionLink 和表单。如果您写了一些东西,表格中的 VALUE 会更新......但链接具有原始值(空)。您可以在 Searchtext 属性中设置一个默认值来测试它。
-
选中此项以发布输入的值:stackoverflow.com/a/1148468/7720
-
@Romias:你能详细说明你的答案吗?我从您的评论中了解到有两种方法可以解决此问题,但请您简要介绍一下。
标签: ajax asp.net-mvc asp.net-mvc-5 html-helper