gpt4 book ai didi

c# - 在 Razor MVC View 的 URL 中包含搜索字符串

转载 作者:太空宇宙 更新时间:2023-11-03 19:04:15 27 4
gpt4 key购买 nike

我正在尝试将搜索字符串(例如 http://stackoverflow.com?this=that)添加到 Controller 返回的 View 中。这是由 JS 在我无法更改的页面上使用的,因此无法选择其他方式来传输数据。

目前我只是从我的 Controller 返回 View("Page", viewModel);,这似乎不允许您通过 URL 传递任何内容。

我尝试使用 return RedirectToAction("a", "b", new { this = that }); 但我不知道如何使用 View 模型正确返回 View 和 URL 字符串。

我如何将 ?a=b 样式的字符串添加到返回的 View 中?

最佳答案

View 没有查询字符串参数,请求 有。因此,如果这是您的 Controller 操作:

public ActionResult SomeAction()
{
return View();
}

然后向 SomeAction 发出的任何请求都需要具有该查询字符串参数:

http://hostname/Widgets/SomeAction?something=somevalue

Action 可以接受它作为参数:

public ActionResult SomeAction(string something)

但如果服务器端代码不打算对该值执行任何操作,则它不需要


如果无法修改对 SomeAction 的请求,那么您需要将其拆分为两个操作。第一个只是重定向到第二个:

public ActionResult SomeAction()
{
return RedirectToAction("Widgets", "SomeOtherAction", new { something = somevalue });
}

public ActionResult SomeOtherAction()
{
return View();
}

在那种情况下,第一个操作的唯一职责是将用户转发到具有特定路由参数的第二个操作。这是必要的,因为查询字符串需要来自浏览器的请求,而不是来自服务器的响应。因此,第一个操作的响应是指示浏览器使用查询字符串发出新请求。

关于c# - 在 Razor MVC View 的 URL 中包含搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30939229/

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