Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为.txt文件(ASP.NET MVC/C#)中添加的每一行分配ID值_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

如何为.txt文件(ASP.NET MVC/C#)中添加的每一行分配ID值

如何为.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

我目前有一个程序,用户在文本输入中输入一个文本值,然后将该文本值写入一个用app_数据保存的.txt文件(“Category.txt”)。我需要为这个.txt文件中的每个用户文本输入分配一个ID值(0、1、2、3…等等)。因此,.txt文件中的示例行如下所示:

苹果,0

香蕉,1

桃子,2

柠檬,3

等等。(ID必须对用户隐藏,因为这些ID在提交文本输入时自动分配)

我完全不知道该怎么做,程序需要用C代码编写,到目前为止我有以下几点:

[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,这非常重要)。当然可以,谢谢,伙计:)