gpt4 book ai didi

ASP.NET MVC 4 C# - 获取要解析的分段元素或完整 URL

转载 作者:行者123 更新时间:2023-12-02 22:28:38 24 4
gpt4 key购买 nike

作为 MVC 4(或者实际上任何适用于 ASP.NET 的 MVC)的新手,我情不自禁地觉得 URL 帮助程序比我所看到的要多。

基本上,我已经阅读了有关使用 URL 中的查询字符串在 Controller 方法中填充属性的教程。虽然我不喜欢查询字符串,但更喜欢像样式一样的分段“文件夹”。

没有更多的adu,这是示例URL:

http://something.com/DataTypes/Search/searchString

这种方法实际上是非常安全的,因为只会有单个单词的搜索

我已经在 DataTypes Controller 中试过了

    [HttpGet]
public ActionResult Search(String q)
{
ViewBag.ProvidedQuery = q;
return View();
}

和其他一些小的变化,现在我只是想让字符串显示在 View 中,但我似乎没有得到任何东西。

有没有办法将 url 中的第三个字符串注入(inject)到属性中?如果不是,我应该使用哪个 URL 帮助器类来获取 URL 中的字符串数据?即使我必须手动解析整个 URL,我只需要将 URL 中的第三个元素作为字符串获取

非常 n00b 问题我确定,但要么我没有在某处找到这个简单的指南,要么我没有正确搜索谷歌...

最佳答案

您缺少的是默认路由参数名称是“id”。所以你想这样做:

[HttpGet]
public ActionResult Search(String id)
{
ViewBag.ProvidedQuery = id;
return View();
}

如果你不想使用变量名id,那么你可以修改你的Route,如下所示:

routes.MapRoute(
name: "Search",
url: "DataTypes/Search/{searchString}",
defaults: new { controller = "DataTypes", action = "Search",
searchString = UrlParameter.Optional });

如果您不希望该字符串是可选的,那么您可以从默认对象中删除最后一个字段。

关于ASP.NET MVC 4 C# - 获取要解析的分段元素或完整 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12613089/

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