نمایش نتایج 1 تا 5 از 5

نام تاپیک: اجرای یک تابع در ویو ها

  1. #1
    کاربر دائمی آواتار Hossis
    تاریخ عضویت
    آبان 1386
    محل زندگی
    بیرجند
    پست
    1,731

    اجرای یک تابع در ویو ها

    در asp.net core و mvc اصلا نمیشه به جز actionresualt ها، دستور دیگری رو اجرا کرد.
    مثلا فرض کنید می خواهیم یک دکمه در ویو بسازیم که با کلیک بر روی آن، دستوری اجرا شود،
    تنها دو راه داریم
    1- استفاده از جاوا اسکریپت (در این صورت نمی تونیم به راحتی از دستورات سی شارپ و دات نت استفاده کنیم)
    2- استفاده از فرم ها (که همواره یک اکشن را اجرا می کنند و مقداری رو برنمی گردونند و اگر برگردانند، صفحه رفرش می شود یا به صفحه دیگر می رود)

    البته یه جایی دیدم با استفاده از ای جکس ، دستورات رو با جاوا به کنترلر و اکشن ها برمی گردونه ولی این هم کار رو سخت می کنه و هم امنیت رو پایین می یاره (نمایش کدها برای بازدید کننده و امکان تزریق کدهای جاوااسکریپت توسط هکر و...)
    آیا راه حلی ساده برای اجرای تابع در یک ویو و برگرداندن مقدار آن تابع و نمایش مقدار برگشتی در ویو هست؟؟
    اگر هست، با مثال توضیح دهید.

  2. #2

    نقل قول: اجرای یک تابع در ویو ها

    عاشق اینم این مطالب رو یاد بگیرم اما فعلا یه شغل که یه سازنده معتبر منطقه 22 گیرم اومده که اصلا نمیخوام از دستش بدم

  3. #3

    نقل قول: اجرای یک تابع در ویو ها

    نقل قول نوشته شده توسط Hossis مشاهده تاپیک
    در asp.net core و mvc اصلا نمیشه به جز actionresualt ها، دستور دیگری رو اجرا کرد.
    مثلا فرض کنید می خواهیم یک دکمه در ویو بسازیم که با کلیک بر روی آن، دستوری اجرا شود،
    تنها دو راه داریم
    1- استفاده از جاوا اسکریپت (در این صورت نمی تونیم به راحتی از دستورات سی شارپ و دات نت استفاده کنیم)
    2- استفاده از فرم ها (که همواره یک اکشن را اجرا می کنند و مقداری رو برنمی گردونند و اگر برگردانند، صفحه رفرش می شود یا به صفحه دیگر می رود)

    البته یه جایی دیدم با استفاده از ای جکس ، دستورات رو با جاوا به کنترلر و اکشن ها برمی گردونه ولی این هم کار رو سخت می کنه و هم امنیت رو پایین می یاره (نمایش کدها برای بازدید کننده و امکان تزریق کدهای جاوااسکریپت توسط هکر و...)
    آیا راه حلی ساده برای اجرای تابع در یک ویو و برگرداندن مقدار آن تابع و نمایش مقدار برگشتی در ویو هست؟؟
    اگر هست، با مثال توضیح دهید.
    سلام
    بنظمر اینطور که شما میفرمایید نیست
    میشه کدی که دارید را قرار دهید
    تابا دوستان چک کنیم

  4. #4
    کاربر دائمی آواتار Hossis
    تاریخ عضویت
    آبان 1386
    محل زندگی
    بیرجند
    پست
    1,731

    نقل قول: اجرای یک تابع در ویو ها

    راه حلش رو خودم پیدا کردم
    هم اجرای تابع در خود ویو و هم تامین امنیت

  5. #5
    کاربر دائمی آواتار Hossis
    تاریخ عضویت
    آبان 1386
    محل زندگی
    بیرجند
    پست
    1,731

    نقل قول: اجرای یک تابع در ویو ها

    @page @using CallFuncInView.Users
    @model IndexModel
    @inject CallFuncInView.Users.UserService us;
    @{
    ViewData["Title"] = "Home page";
    // var people = us.GetAllPeople();
    string NewName;//=string.Empty;
    }


    <div class="text-center">
    <h1 class="display-4">Welcome @FullName("علی","احمدی")</h1>
    @* <h4> Hello @NewName</h4>*@
    @* <ul> @foreach(var nam in Names()) { <li>@nam</li> } </ul>
    *@
    @*<form asp-action="FullName" method="get">
    <button asp-route-f="حسین" asp-route-L="جعفری"
    asp-route-outNm=@NewName type ="submit" value="کلیک کن" class="btn-success btn">Click</button>




    </form>*@




    @* <button asp-page-handler="FullName">Click</button>*@
    <div class="col-md-6">
    <table class="table table-stripped">
    <tr>
    <td> @Html.DisplayNameFor(m => m.people[0].FirstName)</td>
    <td> @Html.DisplayNameFor(m => m.people[0].LastName)</td>
    <td> @Html.DisplayNameFor(m => m.people[0].Mobile) </td>
    </tr>
    @foreach (Person p in Model.people ?? default!)
    {
    <tr>
    <td>@p.FirstName</td>
    <td>@p.LastName</td>
    <td>@p.Mobile</td>


    </tr>


    }




    </table>
    <form method="post" id="MyForm">
    <label for"FirstName">نام</label> <input type="text" name="FirstName" value="علی"/><br />
    <label for"LastName">نام خانوادگی</label> <input type="text" name="LastName" value="قاسمی"/><br />
    <label for"PhoneNumber">تلفن</label> <input type="text" name="PhoneNumber" value="9392256541"/><br />
    <button onclick="PostHandler()" type="button">Post</button>
    <button onclick="GetHandler()" type="button">Get</button>
    <button onclick="PutHandler()" type="button">Put</button>
    </form>
    <div id="MyView"></div>
    <span id="status" ></span>
    <span id="ViewData"> @ViewData["data"] </span>
    </div>
    </div>


    @section Scripts{
    <script>


    function PostHandler(event) {
    // event.preventDefault();
    $.ajax({
    // method:"POST",
    type: "Post",
    //data:{"Mame":"حسین قادری"},
    data: $("#MyForm").serialize(),
    url: "?handler=Test",
    success: function (data) {
    $("#status").addClass("alert-success");
    $("#status").html('با موفقیت انجام شد.');
    $("#MyView").html(data);


    }
    ,error:function(R){
    $("#status").addClass("alert-danger");
    $("#status").html('با شکست مواجه شد.\n'+ R);
    }
    }).done(function(d) {
    // alert(d);


    });
    }



    function GetHandler(event) {
    // event.preventDefault();
    $.ajax({
    // method:"POST",
    type: "Get",
    //data:{"Mame":"حسین قادری"},
    data: $("#MyForm").serialize(),
    url: "?handler=Test",
    success: function (data) {
    $("#status").addClass("alert-success");
    $("#status").html('با موفقیت انجام شد.');
    $("#MyView").html(data);


    }
    ,error:function(R){
    $("#status").addClass("alert-danger");
    $("#status").html('با شکست مواجه شد.\n'+ R);
    }
    }).done(function(d) {
    // alert(d);


    });
    }



    function PutHandler(event) {
    // event.preventDefault();
    $.ajax({
    // method:"POST",
    type: "Put",
    // data:{"FirstName":"مسعود"},
    data: $("#MyForm").serialize(),
    url: "?handler=Test",
    success: function (data) {
    $("#status").addClass("alert-success");
    $("#status").html('با موفقیت انجام شد.');
    $("#MyView").html(data);


    }
    ,error:function(R){
    $("#status").addClass("alert-danger");
    $("#status").html('با شکست مواجه شد.\n'+ R);
    }
    }).done(function(d) {
    // alert(d);


    });
    }
    </script>
    }


    @functions {
    private string FullName(string fn = "حسین", string lastName = "سجادی")
    {


    return fn + ' ' + lastName;
    }


    private List<string> Names()
    {
    var s = new string[] { "محمد", "علی", "حسن", "یاسر", "سمیرا" };
    return s.ToList<string>();
    }
    }

تاپیک های مشابه

  1. سوال: انتقال یک پیام از کنترلر به ویو با کمک ویو دیتا یا ویو بق
    نوشته شده توسط kamran_14 در بخش ASP.NET MVC
    پاسخ: 3
    آخرین پست: چهارشنبه 12 اسفند 1394, 16:50 عصر
  2. پاسخ: 4
    آخرین پست: سه شنبه 13 مرداد 1394, 13:20 عصر
  3. پاسخ: 1
    آخرین پست: پنج شنبه 21 اسفند 1393, 19:19 عصر
  4. پاسخ: 3
    آخرین پست: پنج شنبه 15 آبان 1393, 18:27 عصر
  5. پاسخ: 3
    آخرین پست: سه شنبه 17 بهمن 1391, 18:54 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •