2

btnOne-> btn0-> btnPlus-> btn2- >をクリックすると、ASP.NET MVC で式を取得するのに問題がありますbtn1。この式が必要です:10+21クリックした後btnEqual、この式の合計を取得textBox31し、単純な Windows 電卓のように値を 1 つだけ取得します。どうやってするか?

ビューという名前がありますCalculate

<body>
<div id="CalculatorSpace">
    <form name="Calc">
        <input type="text" name="textBox" id="textBox" value=""/>
        <table>
            <tr>
                <td><input type="button" name="btnSeven" id="btnSeven" value="7" /></td>
                <td><input type="button" id="btnEight" value="8" /></td>
                <td><input type="button" id="btnNine" value="9" /></td>
                <td><input type="button" id="btnDelete" value="DEL" /></td>
                <td><input type="button" id="btnClear" value="CLR" /></td>
            </tr>
            <tr>
                <td><input type="button" id="btnFour" value="4" /></td>
                <td><input type="button" id="btnFive" value="5" /></td>
                <td><input type="button" id="btnSix" value="6" /></td>
                <td><input type="button" id="btnMultiply" value="*" /></td>
                <td><input type="button" id="btnDivide" value="/" /></td>
            </tr>
            <tr>
                <td><input type="button" id="btnOne" value="1" /></td>
                <td><input type="button" id="btnTwo" value="2" /></td>
                <td><input type="button" id="btnThree" value="3" /></td>
                <td><input type="button" id="btnPlus" value="+" /></td>
                <td><input type="button" id="btnMinus" value="-" /></td>
            </tr>
            <tr>
                <td><input type="button" id="btnZero" value="0" /></td>
                <td><input type="button" id="btnDot" value="." /></td>
                <td><input type="button" id="btnEqual" value="=" /></td>
            </tr>
        </table>
        <script>
            window.onload = function () {
                document.getElementById('btnSeven').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnSeven').value;
                });
                document.getElementById('btnEight').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnEight').value;
                });
                document.getElementById('btnNine').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnNine').value;
                });
                document.getElementById('btnDelete').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnDelete').value;
                });
                document.getElementById('btnClear').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnClear').value;
                });
                document.getElementById('btnFour').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnFour').value;
                });
                document.getElementById('btnFive').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnFive').value;
                });
                document.getElementById('btnSix').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnSix').value;
                });
                document.getElementById('btnMultiply').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnMultiply').value;
                });
                document.getElementById('btnDivide').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnDivide').value;
                });
                document.getElementById('btnOne').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnOne').value;
                });
                document.getElementById('btnTwo').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnTwo').value;
                });
                document.getElementById('btnThree').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnThree').value;
                });
                document.getElementById('btnPlus').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnPlus').value;
                });
                document.getElementById('btnMinus').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnMinus').value;
                });
                document.getElementById('btnZero').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnZero').value;
                });
                document.getElementById('btnDot').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnDot').value;
                });
                document.getElementById('btnEqual').addEventListener('click', function () {
                    document.getElementById('textBox').value = document.getElementById('textBox').value + document.getElementById('btnEqual').value;
                });
            }
        </script>
    </form>
</div>

私は CalculatorController を次のようにしています:

    public class CalculatorController : Controller
{
    //
    // GET: /Calculator/

    public ActionResult Index()
    {
        return View();
    }

    //GET: /Calculator/Calculate
    public ActionResult Calculate(string value)
    {

        return View();
    }

}

(+、-、​​、/ を押した場合と比較して)x + xクリックするとデータの計算が実行され、式に入力されるようになりましたか?btnEqual

4

1 に答える 1

0

プロジェクトにNCalcをインポートしてから、コントローラに渡しtextBox、 の結果を返しExpressionます。

public ActionResult Calculate(String textBox)
{
    Expression e = new Expression(textBox);
    MyViewModel model = new MyViewModel {
        Answer = e.Evaluate()
    };
    return View(model);
}

というか、その類...

于 2013-10-17T13:52:03.087 に答える