如何解决如何在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参数
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 举报,一经查实,本站将立刻删除。