Добавить информацию в текстовый файл при нажатии кнопки ASP.NET

Я хотел бы сохранить значение int (увеличивается при каждом нажатии кнопки) в файле .txt для каждого человека.

Я не знаю, как сохранить значение кнопки каждого человека при нажатии. Это то, что я придумал. Нужна помощь в этом.

Актуальный вопрос: Каждый, кто голосует, должен иметь возможность видеть общее количество голосов, а также голос каждого кандидата. Вы должны использовать файл для записи голосования.

@{

    var dataFile = Server.MapPath(@"~/App_Data/data.txt");

    string[] votesArr = File.ReadAllText(dataFile).Split(','); // your path
    string toWrite = "";

    for (int i = 0; i < votesArr.Length; i += 2)
    {
        if (votesArr[i].Equals("Harry")) // Equals here is hardcoded, replace with parameter
        {
            votesArr[i + 1] = "" + (Int32.Parse(votesArr[i + 1]) + 1);
        }

        else if (votesArr[i].Equals("John")) // Equals here is hardcoded, replace with parameter
        {
            votesArr[i + 1] = "" + (Int32.Parse(votesArr[i + 1]) + 1);
        }

        else if (votesArr[i].Equals("May")) // Equals here is hardcoded, replace with parameter
        {
            votesArr[i + 1] = "" + (Int32.Parse(votesArr[i + 1]) + 1);
        }
        else if (votesArr[i].Equals("Jane")) // Equals here is hardcoded, replace with parameter
        {
            votesArr[i + 1] = "" + (Int32.Parse(votesArr[i + 1]) + 1);
        }

        toWrite += votesArr[i] + votesArr[i + 1];
    }
    File.WriteAllText(dataFile, toWrite);
}
<!DOCTYPE html>
<html>
<head>
    <title>Elections</title>
</head>
<body>
    <p id = "1">Harry</p>
    <input id = "1" type = "submit" value = "Vote Harry">

    <p id = "2">John</p>
    <input id = "2" type = "submit" value = "Vote John">

    <p id = "3">May</p>
    <input id = "3" type = "submit" value = "Vote May">

    <p id = "4">Jane</p>
    <input id = "4" type = "submit" value = "Vote Jane">
</body>
</html>

Это похоже на домашнее задание, если это так, пожалуйста, просмотрите meta.stackoverflow.com/questions/334822/… для некоторой коллективной мудрости сайта.

Mark Schultheiss 12.02.2019 14:38
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
108
1

Ответы 1

Вы можете использовать, например, формат для текста.

Гарри, 0, Джон, 1, 2 мая, Джейн, 3 года

Затем вы можете разделить запятыми, и нечетные значения будут именами, а пара будет голосами.

Таким образом, вы можете использовать нечетный для поиска совпадения кандидатов, а затем нечетный + 1, чтобы получить значение голосов. Вам нужно переписать это новое голосование на свою позицию и снова написать строчку.

Вам нужно искать.

        string[] votesArr = File.ReadAllText("path").Split(','); // your path
        string toWrite = "";

        for (int i = 0; i < votesArr.Length -2; i += 2)
        {
            if (votesArr[i].Equals("May")) // Equals here is hardcoded, replace with parameter
                votesArr[i + 1] = "" + (Int32.Parse(votesArr[i + 1]) + 1);

            toWrite += votesArr[i] + votesArr[i+1];
        }


        File.WriteAllText("path", toWrite);

я отредактировал свой пост. Можете ли вы помочь мне увидеть, если это где-то вдоль линии?

Janice 12.02.2019 14:28

Если вы хотите проверить, пуста ли строка, я думаю, вы можете сохранить ее в строке и проверить ее длину перед разделением.

Mr.Deer 12.02.2019 14:30

я сделал еще несколько изменений. Однако, когда я компилирую... он говорит System.IndexOutOfRangeException: "Индекс был за пределами массива".

Janice 12.02.2019 15:29

Я обновил эту строку for(int i = 0; i < votesArr.Length -2; i += 2) Это может быть причиной OutOfRangeException. Если вы хотите, вы можете поделиться своим кодом, чтобы проверить его лучше :)

Mr.Deer 12.02.2019 15:59

Другие вопросы по теме