• 0

كيف أستدعي حدث Click لزر في MVC؟

أقوم بالعمل على تطبيق ويب ASP.Net MVC وأنشأت نموذج تسجيل وبقي لدي استدعاء الحدث Click عند الضغط على زر SignUp قمت بتجربة http post ولكنه لا يعمل كيف يمكنني تعريف الحدث Click واستدعاءه؟

الصفحات التي أنشأتها كالتالي:

view

<fieldset>
            <legend>Sign Up</legend>
            <table>
                <tr>
                    <td>
                        @Html.Label("User Name")
                    </td>
                    <td>
                        @Html.TextBoxFor(account => account.Username)
                    </td>
                </tr>
                <tr>
                    <td>
                        @Html.Label("Email")
                    </td>
                    <td>
                        @Html.TextBoxFor(account => account.Email)
                    </td>
                </tr>
                <tr>
                    <td>
                        @Html.Label("Password")
                    </td>
                    <td>
                        @Html.TextBoxFor(account => account.Password)
                    </td>
                </tr>
                <tr>
                    <td>
                        @Html.Label("Confirm Password")
                    </td>
                    <td>
                        @Html.Password("txtPassword")
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="submit" name="btnSubmit" value="Sign Up" />
                    </td>
                </tr>
            </table>
        </fieldset>

model

public class Account
{
    public string Username { get; set; }
    public string Email { get; set; }
    public string Password { get; set; }      

}

controller

public class AccountController : Controller
    {
        //
        // GET: /Account/

        public ActionResult Index()
        {
            return View();
        }

        // GET: /Account/SignUp

        public ActionResult SignUp()
        {

            return View();

        }

        [HttpPost]
        public ActionResult SignUp(string userName,string email,string password)
        {
            Account createAccount = new Account();

            createAccount.Username = userName;
            createAccount.Email = email;
            createAccount.Password = password;

            return View("Index");

        }

    }

ما الخطأ في التعليمات؟ أرجو المساعدة وما هي الطريقة لتعريف الحدث Click واستدعاءه؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

لا يمكنك إنشاء أحداث events في ASP.Net MVC على عكس ASP التقليدية أي أنه لا يوجد حدث Click في ASP.Net MVC حيث أن الدوال الخاصة بالعناصر controls كالأزرار وغيرها تتوافق مع الطلبات المرسلة إلى الخادوم.يتم إرسال طلب Post Request إلى الخادوم ومن ثم تلقي استجابة Response.

في MVC يتم استخدام html helpers مثل BeginForm و ActionLink. 

لتنفيذ دالة معينة عند الضغط على زر Submit لنموذج Form في MVC استخدم BeginForm helper وحدد في المعامل الأول اسم الدالة التي تريد تنفيذها عند الضغط على الزر ثم في المعامل الثاني حدد اسم المتحكم controller الذي يحوي هذه الدالة وفي المعامل الثالث طريقة إرسال القيم التي يتم تعبئتها بالنموذج كالاسم وكلمة المرور حيث تأخذ FromMethod قيمتين إما get أو post.

المثال التالي يوضح طريقة استخدام BeginForm helper لاستدعاء الدالة SignUp الموجودة في المتحكم Account:

@using (Html.BeginForm("SignUp", "Account", FormMethod.Post))
{
    <!-- form goes here -->

    <input type="submit" value="Sign Up" />
}

 

تمّ تعديل بواسطة Lujain

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن