2015-11-07 83 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數字和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

謝謝,我希望它的工作 –