当我添加到[httppost]时,我的代码本地主机不会显示前端

发布于 2025-02-13 22:06:12 字数 2894 浏览 2 评论 0原文

我正在尝试创建一个简单的计算器,但是当我将[HTTPPOST]添加到InctionResult计算器之前,它不会在浏览器中显示任何响应。没有[httppost],我可以看到前端部分,但结果无法获得任何结果。这是我的控制器代码:

using System.Diagnostics;
using WebApplication1.Models;

namespace WebApplication1.Controllers
{
    public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }

        public IActionResult Index()
        {
            return View(new SimpleCalculatorModels());
        }

        public IActionResult Calculator(SimpleCalculatorModels model, string method)   
        {
            if (method == "addition")
            {
                model.ResultNumber = model.FirstNumber + model.SecondNumber;
            }
            if (method == "substraction")
            {
                model.ResultNumber = model.FirstNumber - model.SecondNumber;
            }
            if (method == "multiplication")
            {
                model.ResultNumber = model.FirstNumber * model.SecondNumber;
            }
            if (method == "division")
            {
                model.ResultNumber = model.FirstNumber / model.SecondNumber;
            }

            return View(model);
        }

    }
}

这是我的视图类:


@model WebApplication1.Models.SimpleCalculatorModels
@{

}


<body>
    <h2>SIMPLE CALCULATOR</h2>
    <div class = "border-dark">
       
           <div class = "form-group">
             <label for = "FirstNumber">First Number</label>
             <input type="text" class="form-control" id="FirstNumber" name="FirstNumber" value="@Model.FirstNumber"/> 
           </div>

           <div class = "form-group">
             <label for = "SecondNumber">Second Number</label>
             <input type="text" class="form-control" id="SecondNumber" name="SecondNumber" value="@Model.SecondNumber"/> 
           </div>

           <button type= "submit" class="btn-btn-info" id="addition" value="addition" name="calculate">+</button>
           <button type= "submit" class="btn-btn-danger" id="substraction" value="substraction" name="calculate">-</button>
           <button type= "submit" class="btn-btn-warning" id="multiplication" value="multiplication" name="calculate">*</button>
           <button type= "submit" class="btn-btn-default" id="division" value="division" name="calculate">/</button>

            <div class = "form-group">
             <label for = "Result">Result</label>
             <input type="text" class="form-control" id="ResultNumber" name="ResultNumber" value="@Model.ResultNumber"/> 
           </div>



    </div>
</body>

I'm trying to create a simple calculator but when i adding to [HttpPost] to the controller before IActionResult Calculator, it does not showing any response in browser. Without [HttpPost] i can see frontend part but i can't get any result for result. This is my controller code:

using System.Diagnostics;
using WebApplication1.Models;

namespace WebApplication1.Controllers
{
    public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }

        public IActionResult Index()
        {
            return View(new SimpleCalculatorModels());
        }

        public IActionResult Calculator(SimpleCalculatorModels model, string method)   
        {
            if (method == "addition")
            {
                model.ResultNumber = model.FirstNumber + model.SecondNumber;
            }
            if (method == "substraction")
            {
                model.ResultNumber = model.FirstNumber - model.SecondNumber;
            }
            if (method == "multiplication")
            {
                model.ResultNumber = model.FirstNumber * model.SecondNumber;
            }
            if (method == "division")
            {
                model.ResultNumber = model.FirstNumber / model.SecondNumber;
            }

            return View(model);
        }

    }
}

And this is my View class:


@model WebApplication1.Models.SimpleCalculatorModels
@{

}


<body>
    <h2>SIMPLE CALCULATOR</h2>
    <div class = "border-dark">
       
           <div class = "form-group">
             <label for = "FirstNumber">First Number</label>
             <input type="text" class="form-control" id="FirstNumber" name="FirstNumber" value="@Model.FirstNumber"/> 
           </div>

           <div class = "form-group">
             <label for = "SecondNumber">Second Number</label>
             <input type="text" class="form-control" id="SecondNumber" name="SecondNumber" value="@Model.SecondNumber"/> 
           </div>

           <button type= "submit" class="btn-btn-info" id="addition" value="addition" name="calculate">+</button>
           <button type= "submit" class="btn-btn-danger" id="substraction" value="substraction" name="calculate">-</button>
           <button type= "submit" class="btn-btn-warning" id="multiplication" value="multiplication" name="calculate">*</button>
           <button type= "submit" class="btn-btn-default" id="division" value="division" name="calculate">/</button>

            <div class = "form-group">
             <label for = "Result">Result</label>
             <input type="text" class="form-control" id="ResultNumber" name="ResultNumber" value="@Model.ResultNumber"/> 
           </div>



    </div>
</body>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清醇 2025-02-20 22:06:12

模型

public class SimpleCalculatorModels
{
    public SimpleCalculatorModels()
    {
        FirstNumber = 0;
        SecondNumber = 0;
        ResultNumber = 0;

    }
    public double SecondNumber { get; set; }
    
    public double FirstNumber { get; set; }

    public double ResultNumber { get; set; }
}

控制器

public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }


    public IActionResult Index(SimpleCalculatorModels model)
    {
        return View(model); 
    }
    
    
    [HttpPost]
    public IActionResult Calculator(SimpleCalculatorModels model,string method)
    {
        if (method == "addition")
        {
            model.ResultNumber = model.FirstNumber + model.SecondNumber;
        }
        if (method == "substraction")
        {
            model.ResultNumber = model.FirstNumber - model.SecondNumber;
        }
        if (method == "multiplication")
        {
            model.ResultNumber = model.FirstNumber * model.SecondNumber;
        }
        if (method == "division")
        {
            model.ResultNumber = model.FirstNumber / model.SecondNumber;
        }

        return RedirectToAction("Index", model);
    }


}

index.cshtml

@model SimpleCalculatorModels

<h2>SIMPLE CALCULATOR</h2>
<form asp-action="Calculator" method="post">

    <div class = "border-dark">

               <div class = "form-group">
                 <label for = "FirstNumber">First Number</label>
                 <input type="text" class="form-control" id="FirstNumber" name="FirstNumber" value="@Model.FirstNumber"/>
               </div>

               <div class = "form-group">
                 <label for = "SecondNumber">Second Number</label>
                 <input type="text" class="form-control" id="SecondNumber" name="SecondNumber" value="@Model.SecondNumber"/>
               </div>

               <button type= "submit" class="btn-btn-info" id="addition" value="addition" name="method">+</button>
               <button type= "submit" class="btn-btn-danger" id="substraction" value="substraction" name="method">-</button>
               <button type= "submit" class="btn-btn-warning" id="multiplication" value="multiplication" name="method">*</button>
               <button type= "submit" class="btn-btn-default" id="division" value="division" name="method">/</button>

                <div class = "form-group">
                 <label for = "Result">Result</label>
                 <input type="text" class="form-control" id="ResultNumber" name="ResultNumber" value="@Model.ResultNumber"/>
               </div>
    </div>

</form>

demo

更新========================================= ========

public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }

  //other actions

   //this get action will load the Calculator.cshtml page
    public IActionResult Calculator(SimpleCalculatorModels model)
    {
        return View(model);
    }
    
    //this post action will do some calculations and return the value 
    [HttpPost]
    public IActionResult Calculator(SimpleCalculatorModels model,string method)
    {
        if (method == "addition")
        {
            model.ResultNumber = model.FirstNumber + model.SecondNumber;
        }
        if (method == "substraction")
        {
            model.ResultNumber = model.FirstNumber - model.SecondNumber;
        }
        if (method == "multiplication")
        {
            model.ResultNumber = model.FirstNumber * model.SecondNumber;
        }
        if (method == "division")
        {
            model.ResultNumber = model.FirstNumber / model.SecondNumber;
        }

        return View(model);
    }
}

calculator.cshtml

index.cshtml我提供的相同。

Model

public class SimpleCalculatorModels
{
    public SimpleCalculatorModels()
    {
        FirstNumber = 0;
        SecondNumber = 0;
        ResultNumber = 0;

    }
    public double SecondNumber { get; set; }
    
    public double FirstNumber { get; set; }

    public double ResultNumber { get; set; }
}

Controller

public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }


    public IActionResult Index(SimpleCalculatorModels model)
    {
        return View(model); 
    }
    
    
    [HttpPost]
    public IActionResult Calculator(SimpleCalculatorModels model,string method)
    {
        if (method == "addition")
        {
            model.ResultNumber = model.FirstNumber + model.SecondNumber;
        }
        if (method == "substraction")
        {
            model.ResultNumber = model.FirstNumber - model.SecondNumber;
        }
        if (method == "multiplication")
        {
            model.ResultNumber = model.FirstNumber * model.SecondNumber;
        }
        if (method == "division")
        {
            model.ResultNumber = model.FirstNumber / model.SecondNumber;
        }

        return RedirectToAction("Index", model);
    }


}

Index.cshtml

@model SimpleCalculatorModels

<h2>SIMPLE CALCULATOR</h2>
<form asp-action="Calculator" method="post">

    <div class = "border-dark">

               <div class = "form-group">
                 <label for = "FirstNumber">First Number</label>
                 <input type="text" class="form-control" id="FirstNumber" name="FirstNumber" value="@Model.FirstNumber"/>
               </div>

               <div class = "form-group">
                 <label for = "SecondNumber">Second Number</label>
                 <input type="text" class="form-control" id="SecondNumber" name="SecondNumber" value="@Model.SecondNumber"/>
               </div>

               <button type= "submit" class="btn-btn-info" id="addition" value="addition" name="method">+</button>
               <button type= "submit" class="btn-btn-danger" id="substraction" value="substraction" name="method">-</button>
               <button type= "submit" class="btn-btn-warning" id="multiplication" value="multiplication" name="method">*</button>
               <button type= "submit" class="btn-btn-default" id="division" value="division" name="method">/</button>

                <div class = "form-group">
                 <label for = "Result">Result</label>
                 <input type="text" class="form-control" id="ResultNumber" name="ResultNumber" value="@Model.ResultNumber"/>
               </div>
    </div>

</form>

Demo

enter image description here

Updated=========================================

public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }

  //other actions

   //this get action will load the Calculator.cshtml page
    public IActionResult Calculator(SimpleCalculatorModels model)
    {
        return View(model);
    }
    
    //this post action will do some calculations and return the value 
    [HttpPost]
    public IActionResult Calculator(SimpleCalculatorModels model,string method)
    {
        if (method == "addition")
        {
            model.ResultNumber = model.FirstNumber + model.SecondNumber;
        }
        if (method == "substraction")
        {
            model.ResultNumber = model.FirstNumber - model.SecondNumber;
        }
        if (method == "multiplication")
        {
            model.ResultNumber = model.FirstNumber * model.SecondNumber;
        }
        if (method == "division")
        {
            model.ResultNumber = model.FirstNumber / model.SecondNumber;
        }

        return View(model);
    }
}

Calculator.cshtml

Same as the index.cshtml i provided.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文