gpt4 book ai didi

c# - 使用 Html.Action 将参数传递给局部 View

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:30 25 4
gpt4 key购买 nike

我正在开发一个 MVC 应用程序(razor 语法),我在将参数传递到我的 Html.Action 调用时遇到问题。下面是我正在实现的搜索页面。请注意,该模型包含要在下拉列表中使用的不同值。

从 View 调用:

@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}

Controller 中的 Action :

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 Controller 。我试图在 Html.Action 调用 ( Model.siteCode.ToString() ) 中添加 .ToString ,然后将显示一条 LINQ 语句。我猜这个方法是错误的,因为模型不包含来自先前请求的任何信息。

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

谢谢

最佳答案

使用:

  @Html.RouteLink()

而不是行动

关于c# - 使用 Html.Action 将参数传递给局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13275664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com