پیاده سازی چندین دکمه در یک صفحه در Asp.Net Core
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"/>&nbsp;&nbsp;&nbsp;
    <input type="submit" value="-" formaction="Minus"/>&nbsp;&nbsp;&nbsp;
    <input type="submit" value="*" formaction="Multiply"/>&nbsp;&nbsp;&nbsp;
    <input type="submit" value="/" formaction="Divide"/>&nbsp;&nbsp;&nbsp;
   
</form>
<h2 style="color: crimson; background-color: darksalmon; padding: 10px;">
    @ViewBag.Result
</h2>

در کدهای بالا یک فرم ایجاد کردیم و asp-controller آن را برابر Calculator قرار دادیم و سپس دو تا input برای دریافت اطلاعات تعریف کردیم. و در آخر چهار دکمه submit قرار دادیم و سپس formaction آنها را برابر با اکشن های مورد نظر قرار دادیم

دانلود

نویسنده حسین فتحی
گروه مطلب Asp.Net Core
نوع مطلب سورس کد و آموزش
تاریخ انتشار ۳۰ آبان ۱۳۹۶
منبع ایران گنج
تعداد نظرات ۰
قیمت کاربران مهمان
توضیح توجه:
  • زمانی که روی لینک دانلود کلیک می کنید لینک دانلود به مدت 24 ساعت معتبر خواهد بود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

نظر / سوال

Captcha