我正在制作一个网页(http://example.com/calculation/
)。该网站将进行简单的计算。该页面将以文本框(asp:TextBox)的形式向用户显示两个输入字段。我想知道如何处理点击“Calc”按钮(asp:按钮)?
我是否使用控制器进行页面,因为我正在使用MVC模板?我该如何组织我的代码?
我想在两个文本框中获取用户输入,并在“结果”标签中输出值。
答案 0 :(得分:12)
最简单的干净方式提供了Model类,Controller和View。请看以下示例:
模特:
public class CalculatorModel {
public int Result { get; set; }
public int FirstOperand { get; set; }
public int SecondOperand { get; set; }
}
控制器:
public class CalculatorController : Controller {
[HttpGet]
public ActionResult Sum() {
CalculatorModel model = new CalculatorModel();
//Return the result
return View(model);
}
[HttpPost]
public ActionResult Sum( CalculatorModel model ) {
model.Result = model.FirstOperand + model.SecondOperand;
//Return the result
return View(model);
}
}
观点:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<CalculatorModel>" %>
<% using ( Html.BeginForm("Sum", "Calculator", FormMethod.Post, new { id = "calcForm" }) ) { %>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr valign="top">
<td>
<%= Html.LabelFor(model => model.FirstOperand) %>
<%= Html.TextBoxFor(model => model.FirstOperand) %>
</td>
</tr>
<tr valign="top">
<td>
<%= Html.LabelFor(model => model.SecondOperand) %>
<%= Html.TextBoxFor(model => model.SecondOperand) %>
</td>
</tr>
</table>
<div style="text-align:right;">
<input type="submit" id="btnSum" value="Sum values" />
</div>
<% } %>
我的建议是遵循ASP.NET MVC的一些教程。你可以找到很多与谷歌。 ASP.NET MVC web site是一个很好的起点。
希望它有所帮助!
答案 1 :(得分:3)
我相信你的问题取决于对新成员对MVC设计模式的常见误解。在MVC设计模式中,如何组织模型,视图和控制器是一个偏好的问题。
也就是说,像ASP.NET MVC这样的Web框架建议某些组织,因为它们倾向于通过网站的URL公开模式实现。为了说明开箱即用,ASP.NET MVC将为计算控制器的http://example.com/calculation/add
操作创建此路由add
。作为开发人员,您可以通过创建custom routes来覆盖此行为,这意味着您应该以对您有逻辑意义的方式组织模型,视图和控制器。
根据定义,您的网站只是进行简单的计算,我建议您创建一个具有各种操作的控制器:加,减,除等.Lorenzo提供了如何开始his answer的基础。< / p>