使用MVC的计算器

时间:2015-11-07 11:08:05

标签: c# asp.net-mvc model-view-controller

我是MVC和C#的新手,我必须使用按钮来制作一个计算器。如何将视图中的按钮值传递给控制器​​?有没有我可以使用的源代码?

以下是视图中的按钮表

<form name="Cal">
        <table border=1>
            <tr>
                <td width="65%" align="center">
                    <input type="text" name="Input" size="20" onchange="FixValue()">
                    <br>
                </td>
            </tr>
            <tr>
                <td width="65%" align="center">
                    <input type="button" name="one" value="1" onclick="f1(this.value)">
                    <input type="button" name="two" value="2" onclick="f1(this.value)">
                    <input type="button" name="three" value="3" onclick="f1(this.value)">
                    <input type="button" name="plus" value="+" onclick="Operate(this.value)">
                    <br>
                    <input type="button" name="four" value="4" onclick="f1(this.value)">
                    <input type="button" name="five" value="5" onclick="f1(this.value)">
                    <input type="button" name="six" value="6" onclick="f1(this.value)">
                    <input type="button" name="minus" value="-" onclick="Operate(this.value)">
                    <br>
                    <input type="button" name="seven" value="7" onclick="f1(this.value)">
                    <input type="button" name="eight" value="8" onclick="f1(this.value)">
                    <input type="button" name="nine" value="9" onclick="f1(this.value)">
                    <input type="button" name="multiply" value="*" onclick="Operate(this.value)">
                    <br>
                    <input type="button" name="Clr" value="c" onclick="AllClear()">
                    <input type="button" name="zero" value="0" onclick="f1(this.value)">
                    <input type="button" name="answer" value="=" onclick="Calculate()">
                    <input type="button" name="divide" value="/" onclick="Operate(this.value)">
                    <br>
                </td>
            </tr>
        </table>
    </form>

2 个答案:

答案 0 :(得分:1)

如果您不想使用JavaScript,可以使用span { display:inline-block;height:1.2em; } 中的匿名对象直接调用您的操作:

Url.Action

这是控制器的C#代码:

<input type="button" name="one" value="1" onclick="location.href='@Url.Action("YourAction", "YourController", new { value = 1 })'">

答案 1 :(得分:0)

如果您只想将值传递给控制器​​,您可能希望使用jQuery&#39; $.get$.post

E.g。你的f1可能看起来像:

function f1(object) {
     $.get('/Calculator/DoButtonPostBack?Button=' + $(object).val());
}

您的控制器可能如下所示:

public class CalculatorController : Controller
{
    public ActionResult DoButtonPostBack(string button)
    {
        //do sometihng
    }
}

你可能只想在大多数情况下用JavaScript编写计算器。