Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 使用ASP.NET MVC获取参数并将结果发送到客户端_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc 使用ASP.NET MVC获取参数并将结果发送到客户端

Asp.net mvc 使用ASP.NET MVC获取参数并将结果发送到客户端,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,(我正在学习ASP.NET MVC 5。) 我想做一件简单的事: 只需收集2个数字并返回除法结果 在ASP.NET Web窗体中,我使用Web窗体中的Textbox控件从客户端收集数据。计算结果,用结果填充其他一些web控件,并将页面发送给客户端 我正试图用ASP.NETMVC5做同样的事情 我认为我的代码很枯燥,有更好的方法还是简单的其他方法? 控制器: public class DivideController : Controller { // // GET: /Divid

(我正在学习ASP.NET MVC 5。)

我想做一件简单的事:

只需收集2个数字并返回除法结果

在ASP.NET Web窗体中,我使用Web窗体中的Textbox控件从客户端收集数据。计算结果,用结果填充其他一些web控件,并将页面发送给客户端

我正试图用ASP.NETMVC5做同样的事情

我认为我的代码很枯燥,有更好的方法还是简单的其他方法?

控制器:

public class DivideController : Controller
{
    //
    // GET: /Divide/
    [HttpGet]
    public ViewResult Divide()
    {
        return View();
    }

    [HttpPost]
    public ViewResult Divide(DivideModel model)
    {
        model.Result = model.Arg1 / model.Arg2;
        return View(model);
    }
}
型号:

public class DivideModel
{
    public float Arg1 { get;set; }
    public float Arg2 { get;set; }
    public float Result { get;set; }
}
视图:


@使用(Html.BeginForm())
{
Arg1:
@Html.TextBoxFor(x=>x.Arg1)
Arg2:
@Html.TextBoxFor(x=>x.Arg2)
}
@如果(型号!=null)
{
结果是:
@模型。结果
}

这很乏味,因为你的任务很简单。像许多事情一样,好的设计会增加一些开销,但需要改进维护。这种开销在像这样的小程序中似乎毫无意义,而且通常是这样

这种开销在更大的应用程序中得到了回报,在这些应用程序中,关注点的分离使得在不破坏代码其他部分的情况下进行更改变得更加容易


我的意思是,如果您愿意,您可以完全用javascript完成此任务,而无需编写任何服务器端代码。但是你正在努力学习MVC,所以现在你应该接受这一点,继续前进,学习好习惯,这些习惯会及时得到回报。

这看起来很好。你觉得它很乏味,也许有人能更好地回答这个问题。@JustinHelgerson只是把输入/输出参数放在同一个模型类型中,这让我觉得很奇怪。然后没有模型。将结果存储在ViewBag中,并在ViewBag中显示。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。@Mark-它确实回答了问题。也许你应该在下结论之前通读整件事。最后一句话说,不,没有更好或更简单的方法,他们应该接受这会及时得到回报。
<body>
    <div> 
       @using (Html.BeginForm())
       {
           <div>Arg1:</div>
           <div>@Html.TextBoxFor(x => x.Arg1)</div>
           <div>Arg2:</div>
           <div>@Html.TextBoxFor(x => x.Arg2) </div>
           <input type="submit" value="submit" />
       }
    </div>

    @if (Model != null)
    {
        <div>Result is:</div>
        <div>@Model.Result</div>     
    }
</body>