微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在ASP.NET Core MVC“待办事项”应用程序中提取URL的文件名,并在视图中向用户显示?

如何解决如何在ASP.NET Core MVC“待办事项”应用程序中提取URL的文件名,并在视图中向用户显示?

我有一个ASP.NET Core MVC To Do应用程序。启动应用程序时,该应用程序的认URL为https://localhost,但如何从类似filename的URL中获取https://localhost/14-11-2020。我需要获取14-11-2020作为参数,并在.cshtml标签间的<time></time>文件中将其显示14 / 11 / 2020。每次用户更改日期时,都需要显示该日期之后的任务(因为这是“ Todo”应用程序)。我已经使用具有DateTime属性数据库设置了模型。

我的问题是:如何提取URL的文件名并在视图中显示用户

解决方法

您可以从控制器上的方法解析url参数

printf

在上面的示例中,网址为http:// localhost:1234 / todo / 01-01-2020会将日期时间“ 01/01/2020 00:00:00”传递到todo控制器方法中>

,

如何提取URL的文件名并在 查看?

AbsolutePath 属性包含服务器用来解析C#中信息请求的路径信息。 (More Details)

传递数据以从控制器(more details)进行查看 我在这里使用 ViewData

ViewData是一个通过字符串键访问的ViewDataDictionary对象。 字符串数据可以直接存储和使用,而无需 强制转换,但必须将其他ViewData对象值强制转换为特定类型 当您提取它们时。您可以使用ViewData从 视图和视图内的控制器,包括局部视图和 布局。

[HttpGet]
    public IActionResult Index()
    {
      Uri baseUri = new Uri("http://www.contoso.com/");
      Uri myUri = new Uri(baseUri,"catalog/shownew.htm?date=today");
      string name = Path.GetFileName(myUri.AbsolutePath);
      ViewData["FileName"] = name;
      return View();
    }

对于Path类,请使用名称空间 using System.IO; 和内部视图的使用,

<title>@ViewData["FileName"] - WebApplication</title>
,

从RouteData获取日期并将其存储在控制器的ViewBag或ViewDate中,然后从视图访问它:

控制器:

public IActionResult Index()
{
    string date = RouteData.Values.Values.LastOrDefault().ToString();
    var mydate = date.Replace("-","/");
    ViewBag.CurrentDate = mydate;
    return View();
}

查看:

<time>@ViewBag.CurrentDate</time>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。