2015-11-07 2 views
-1

Я новичок в MVC и C#, и мне нужно сделать калькулятор с кнопками для номера. Как передать значения кнопок из представления на контроллер? Есть ли исходный код, который я могу использовать?Калькулятор с использованием MVC

Вот таблица кнопок в окне

<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> 
+0

Желаешь отправлять запрос на сервер каждый раз, когда вы нажимаете на кнопку или вы хотите создать выражение вычисления, и только отправлять запрос на сервер, когда вы нажимаете «=» – singsuyash

+0

, просто нажав = –

+0

, затем вызовите другую функцию, когда clicki ng числа и jQuery ajax вызов функции для кнопки «=». – singsuyash

ответ

0

Если вы просто хотите, чтобы передать значение в контроллер, вы, вероятно, хотите использовать JQuery-х $.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 только в большинстве случаев, хотя.

+0

Я не хочу писать это в JavaScript, я уже сделал это с ним. –

1

Если вы не хотите использовать JavaScript, вы можете позвонить свое действие непосредственно, как это с помощью анонимного объекта в Url.Action:

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

Здесь C# код для контроллера:

public ActionResult YourAction(int value) 
{ 
    //your code 
} 
+0

, и это передает значение непосредственно контроллеру! –

+0

@ LanaAbusabha Я обновил код, забыли про анонимный объект, извините. – user2771704

+0

спасибо, я надеюсь, что это сработает –

Смежные вопросы