0

每当用户单击“投票 Harry”按钮时,我希望 int countHarry 保持递增 1。输出将写入“data.txt”中。但是,我的 data.txt 只会将值显示为 1。需要建议。谢谢。

这是一个 .cshtml 文件。

当前输出:Harry,1 预期输出:Harry,3(每次点击时 int 值都会增加)

@{
    var result = "";
    int countJohn = 1;
    int countHarry = 1;

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

        if (Request["submit"] == "Vote Harry")
        {

            //var harry = Request["Harry"];

            var userData = "Harry" + "," + countHarry + Environment.NewLine;

            File.AppendAllText(@dataFile, userData);

            // countHarry += countHarry;  does not increases the count inside  .txt at all

            result = "Information saved.";
        }

        else if (Request["submit"] == "Vote John")
        {

            //var john = Request["John"];

            var userData = "John" + "," + (Int32.Parse("1")) + Environment.NewLine;

            File.AppendAllText(@dataFile, userData);

            result = "Information saved.";

            countJohn += 1;
        }
    }
 }
    
<!DOCTYPE html>
<html>
<head>
    <title>Elections</title>
</head>
<body>
    <form id="form1" method="post">
        <div>
            <table>
                <tr>
                    <td>Harry</td>
                    <td><input id="Harry" name="submit" type="submit" value="Vote Harry"/></td>

                </tr>
                <tr>
                    <td>John</td>
                    <td><input id="John" name="submit" type="submit" value="Vote John" /></td>
                </tr>
                <tr>
                    <td>Bryan</td>
                    <td><input id="Bryan" name="submit" type="submit" value="Vote Bryan" /></td>
                </tr>
                <tr>
                    <td>Jack</td>
                    <td><input id="Jack" name="submit" type="submit" value="Vote Jack" /></td>
                </tr>
            </table>
        </div>
        <div>
            @if (result != "")
            {
                <p>Result: @result</p>
            }
        </div>
    </form>
</body>
</html>

4

1 回答 1

0

我想你只需要在这里定义 countHarry :

@{
var result = "";
int countJohn = 1;
int countharry = 1;

现在你可以到达你需要的地方,因为它是“全球性的”。

于 2019-02-13T11:05:23.737 回答