我是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>
答案 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编写计算器。