c# - 创建一个涉及迭代的简单应用程序,然后出现问题。可能很容易解决。

标签 c# html if-statement for-loop iteration

我正在创建一个简单的应用程序,我要求用户指定要迭代到的数字,以及他们想要输出的行数。我认为我真的很接近,但在这方面还很陌生,所以我相信一些语法和变量调整会让我到达那里。我正在使用 MVC 在 .Net 中创建它。我在运行时收到错误消息,因为“x”和“y”名称未显示。这是我所拥有的:

<body>
<div> 

    @{


        var numCount = x;
        var colCount = y; 

        for (int i = 1; i < numCount; i++)
        {
            <span>@i</span>

            if (i % colCount == 0)
            {
                <br />
                    <form id="myForm">
                        How many numbers would you like to iterate to?
                        <br/>
                        <input id="x" type="text" name="x" />
                        <br/>
                        How many rows would you like in your iteration?
                        <br />
                        <input id="y" type="text" name="y" />
                        <br />
                        <input type="submit" value="Calculate!" onsubmit="return i()" />
                    </form>

            }
        }



    }

</div>

最佳答案

一旦设置了 numCount 和 colCount,X 和 Y 就没有被设置。我会将其移动到两个 View 中或使用 jquery 和 ajax 做一些事情。

这是两个 View 的解决方案。

创建一个类并添加两个整数属性(x 和 y)。有一个单独的 View ,将 X 和 Y 绑定(bind)到单独的输入。

public class Iterator
    {
        public int x { get; set; }

        public int y { get; set; }
    }

像您的第一个 View 一样创建第二个接受模型的 View 。然后您的第二个 View 将如下所示:

@Model Iterator

<div>

    @{


        var numCount = Model.x;
        var colCount = Model.y;

        for (int i = 1; i < numCount; i++)
        {
            <span>@i</span>
            Do more stuff here.

        }


    }

</div>

我假设您可以将一个简单的 POST View 绑定(bind)到 X 和 Y,然后转发到这个迭代 View 。如果没有,请告诉我。

编辑:这是第一个 View 的样子:

@Model Iterator

@Html.BeginForm("SecondView", "ControllerName", FormMethod.Post)
{


   How many numbers would you like to iterate to?
   @Html.TextBoxFor(x => x.x)

   <br />
   How many rows would you like in your iteration?
   @Html.TextBoxFor(x => x.y)

<br />
<input type="submit" value="Calculate!">
}

现在只需创建 Controller 方法就可以了!请注意,它们可以是 HTTPGet,这取决于您。

关于c# - 创建一个涉及迭代的简单应用程序,然后出现问题。可能很容易解决。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32788172/

相关文章:

css - 确保内容位于视口(viewport)中

html - CSS 卡翻转和文本

java - 如何使用for循环提高效率?

linux - 仅当 ping 中断时 Bash 才继续

javascript - 有没有更好的方法来减少多个 if 语句?

c# - 为什么 WinForms 设计器会在其 dispose 方法中生成类似 'inconvenient' 的代码?

C#preg_replace?

c# - F# Data CsvProvider 从 C# 应用程序 Interop 使用

c# - LINQ 表达式类可以实现观察者模式而不是延迟执行吗?

javascript - 用重复的线性渐变颜色填充 SVG 元素