1
0
پیاده سازی چندین دکمه در یک صفحه در Asp.Net Core
پیاده سازی چندین دکمه در یک صفحه در Asp.Net Core
در این آموزش قصد داریم تا نحوه قرار دادن چندین دکمه در یک صفحه برای ارسال اطلاعات به Action های مختلف در یک کنترلر را مورد بررسی قرار دهیم. برای این کار با یک مثال ماشین حساب ساده این کار را در Asp.Net Core انجام می دهیم.
ابتدا یک کنترلرCalculator به نام تعریف می کنیم و چهار اکشن زیر را در آن تعریف می کنیم
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; namespace AspNetCoreProject.Controllers { public class CalculatorController : Controller { public IActionResult Add() { try { int num1 = Convert.ToInt32(HttpContext.Request.Form["txtNum1"].ToString()); int num2 = Convert.ToInt32(HttpContext.Request.Form["txtNum2"].ToString()); ViewBag.Num1 = num1; ViewBag.Num2 = num2; ViewBag.Result = (num1+num2).ToString(); } catch (Exception) { ViewBag.Result = "عدد وارد شده نامعتبر است"; } return View("CalPage"); } public IActionResult Minus() { try { int num1 = Convert.ToInt32(HttpContext.Request.Form["txtNum1"].ToString()); int num2 = Convert.ToInt32(HttpContext.Request.Form["txtNum2"].ToString()); ViewBag.Num1 = num1; ViewBag.Num2 = num2; ViewBag.Result = (num1 - num2).ToString(); } catch (Exception) { ViewBag.Result = "عدد وارد شده نامعتبر است"; } return View("CalPage"); } public IActionResult Multiply() { try { int num1 = Convert.ToInt32(HttpContext.Request.Form["txtNum1"].ToString()); int num2 = Convert.ToInt32(HttpContext.Request.Form["txtNum2"].ToString()); ViewBag.Num1 = num1; ViewBag.Num2 = num2; ViewBag.Result = (num1 * num2).ToString(); } catch (Exception) { ViewBag.Result = "عدد وارد شده نامعتبر است"; } return View("CalPage"); } public IActionResult Divide() { try { decimal num1 = Convert.ToInt32(HttpContext.Request.Form["txtNum1"].ToString()); decimal num2 = Convert.ToInt32(HttpContext.Request.Form["txtNum2"].ToString()); decimal r = num1 / num2; ViewBag.Num1 = num1; ViewBag.Num2 = num2; ViewBag.Result = r.ToString(); } catch (Exception) { ViewBag.Result = "عدد وارد شده نامعتبر است"; } return View("CalPage"); } } }
سپس یک ویو به نام CalPage تعریف می کنیم و کدهای زیر را به آن اضافه می کنیم
@{ ViewData["Title"] = "ماشین حساب"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>ماشین حساب</h2> <form asp-controller="Calculator" method="post"> <label>عدد اول:</label> <input name="txtNum1" type="text" accesskey="n" value="@ViewBag.Num1"/> alt+n <br /><br/> <label>عدد دوم:</label> <input name="txtNum2" type="text" accesskey="m" value="@ViewBag.Num2"/> alt+m <br /><br/> <input type="submit" value="+" formaction="Add"/> <input type="submit" value="-" formaction="Minus"/> <input type="submit" value="*" formaction="Multiply"/> <input type="submit" value="/" formaction="Divide"/> </form> <h2 style="color: crimson; background-color: darksalmon; padding: 10px;"> @ViewBag.Result </h2>
در کدهای بالا یک فرم ایجاد کردیم و asp-controller آن را برابر Calculator قرار دادیم و سپس دو تا input برای دریافت اطلاعات تعریف کردیم. و در آخر چهار دکمه submit قرار دادیم و سپس formaction آنها را برابر با اکشن های مورد نظر قرار دادیم
نظر / سوال