如何为.txt文件(ASP.NET MVC/C#)中添加的每一行分配ID值
我目前有一个程序,用户在文本输入中输入一个文本值,然后将该文本值写入一个用app_数据保存的.txt文件(“Category.txt”)。我需要为这个.txt文件中的每个用户文本输入分配一个ID值(0、1、2、3…等等)。因此,.txt文件中的示例行如下所示: 苹果,0 香蕉,1 桃子,2 柠檬,3 等等。(ID必须对用户隐藏,因为这些ID在提交文本输入时自动分配) 我完全不知道该怎么做,程序需要用C代码编写,到目前为止我有以下几点:如何为.txt文件(ASP.NET MVC/C#)中添加的每一行分配ID值,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我目前有一个程序,用户在文本输入中输入一个文本值,然后将该文本值写入一个用app_数据保存的.txt文件(“Category.txt”)。我需要为这个.txt文件中的每个用户文本输入分配一个ID值(0、1、2、3…等等)。因此,.txt文件中的示例行如下所示: 苹果,0 香蕉,1 桃子,2 柠檬,3 等等。(ID必须对用户隐藏,因为这些ID在提交文本输入时自动分配) 我完全不知道该怎么做,程序需要用C代码编写,到目前为止我有以下几点: [HttpPost] public ActionResul
[HttpPost]
public ActionResult Category(string categoryDescription)
{
var dataFile = Server.MapPath("~/App_Data/Category.txt");
var indexLine = System.IO.File.ReadLines(dataFile).Last();
var textFileData = categoryDescription + " " + indexLine + Environment.NewLine;
System.IO.File.AppendAllText(dataFile, textFileData);
return View();
}
我真的很不确定在提交新内容时可以用什么来计算行数。。任何帮助都将不胜感激,谢谢。我发现使用以下代码可以很容易地做到这一点
public ActionResult Category(string categoryDescription)
{
var dataFile = Server.MapPath("~/App_Data/Category.txt");
var numberOfLines = System.IO.File.ReadLines(dataFile).Count();
var textFileData = categoryDescription + "," + numberOfLines + Environment.NewLine;
System.IO.File.AppendAllText(dataFile, textFileData);
return View();
}
我基本上只是将行数分配给一个变量,当用户提交越来越多的文本输入时,该变量显然会累积 简单地说,您可以使用静态字典:在开始时,您可以在将值添加到字典中并将其添加到文件中之后,从文本文件初始化静态字典。如果您想简化所有内容,请尝试使用Newtonsoft.Json将数据序列化/反序列化到文件中。不幸的是,我对Newtonsoft.Json非常不熟悉,因此我真的不太确定如何执行您的建议。。对我的行为表示歉意没有问题:非常强大,但不是强制性的(尝试尽快观察它是如何工作的,如果你做MVC,这非常重要)。当然可以,谢谢,伙计:)