这是一件看似简单的事情,但我还没有让它发挥作用。我正在构建一个简单的文件上传表单,我想要一个日期上传字段。我已经制作了模型,我想同时保存日期和时间:
[DataType(DataType.DateTime)]
public DateTime DateUploaded { get; set; }
Run Code Online (Sandbox Code Playgroud)
然后在视图中:
<input asp-for="DateUploaded" class="form-control" value="@DateTime.Now.ToString("yyyy-MM-dd HH:mm")" />
Run Code Online (Sandbox Code Playgroud)
但是日期选择器总是显示空白,像这样,我希望它自动加载当前日期和时间到分钟:
尽管消息来源表明存在价值。这让我相信它可能与 jquery 有关,但我不知道那可能是什么,我什至不确定要寻找什么。迄今为止的尝试还没有产生解决方案。
<input class="form-control" value="2018-09-13 13:36" type="datetime-local" data-val="true" data-val-required="The DateUploaded field is required." id=" name="DateUploaded" />
Run Code Online (Sandbox Code Playgroud)
我还尝试在模型中添加以下内容但没有结果:
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd HH:mm}", ApplyFormatInEditMode = true)]
Run Code Online (Sandbox Code Playgroud) 我尝试将此函数(和其他函数)放在我的项目中的单独的类文件中,该文件位于"/Helpers/UploadFiles.cs"下
namespace Artikelhantering.Helpers
{
public class UploadFiles
{
private void EnsureDirectoriesExist(string SKU)
{
// if the directory doesn't exist - create it.
if (!System.IO.Directory.Exists("//servername/wwwroot/prodimg/" + SKU))
{
System.IO.Directory.CreateDirectory("//servername/wwwroot/prodimg/" + SKU);
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在控制器中我添加了Artikelhantering.Helpers; ,它也被添加到web.config文件的namespace部分以及global.asa.cx中.
然后我想我可以从我的控制器中的ActionResult这样调用它
[ChildActionOnly]
public ActionResult _EnumerateFolder(string SKU)
{
// create directory if it does not exist
EnsureDirectoriesExist(SKU);
ViewBag.SKU = SKU;
var folder = Directory.EnumerateFiles("//servername/wwwroot/prodimg/" + SKU);
return View(folder);
}
Run Code Online (Sandbox Code Playgroud)
但我得到的只是:
错误2当前上下文中不存在名称"EnsureDirectoriesExist"
试着把它写成UploadFiles.EnsureDirectoriesExist(); 但这也不起作用.我如何调用这些方法而不将它们全部放在同一个文件中?我想更好地组织这个.