繁体   English   中英

使用Html.Action将参数传递到局部视图

[英]Passing parameters to a partial view using Html.Action

我正在开发MVC应用程序(剃刀语法),并且在将参数传递到Html.Action调用时遇到问题。 以下是我正在实现的搜索页面。 注意,模型包含在下拉菜单中使用的不同值。

从视图致电:

@using(Html.BeginForm("Search", "Home", FormMethod.Get, null)){

@Html.LabelFor(model => model.siteCode)
@Html.DropDownListFor(model => model.siteCode, new SelectList(Model.siteCode), "All")

@Html.LabelFor(model => model.group)
@Html.DropDownListFor(model => model.group, new SelectList(Model.group), "All")
}

@Html.Action("ShowOrderData", "Home", new {siteCode = Model.siteCode, group = Model.group}

控制器中的操作:

public ActionResult ShowOrderData(string siteCode = "",
                                        string group = "",)
{
        var model = _db.ToolOrders
            .Where(r => r.SiteCD_LOC.Contains(siteCode))
            .Where(r => r.GroupCode.Contains(group))

return PartialView("_OrderData", model);
}

注意:可能存在一些语法错误。 还有大约10个参数正在传递,我不想阻塞代码块。

因此,使用此代码调试时,空字符串将发送到我的ShowOrderData控制器。 我试图在Html.Action调用( Model.siteCode.ToString() )中添加.ToString,然后将显示LINQ语句。 我猜这种方法是错误的,因为该模型不包含来自先前请求的任何信息。

如何正确地将数据从QueryString发送到局部视图? 我见过直接通过request.querystring访问queryString的方法,但我也听说在视图中使用该方法是不好的做法。

谢谢

采用:

  @Html.RouteLink()

代替行动

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM