استفاده از چند دکمه ارسال (Multiple Submit Buttons) در razor pages

11/16/2019 MVC
586

در Razor page  ها ارسال اطلاعات را با اکشن

public async Task<IActionResult> OnPostAsync()

کنترل میکنیم 

و دکمه ارسال به صورت پیشفرض بدین صورت است 

       <div class="form-group">
                <input type="submit" value="Create" class="btn btn-primary" />
       </div>

 

 

گاهی نیاز پیدا میکنیم که دو دکمه ارسال(submit buttons) در صفحه قرار دهیم مثلا دکمه (submit button) "ذخیره و رفتن به صفحه اصلی" و دکمه (submit button)"ذخیره و ماندن در همین صفحه" این دو دکمه (submit buttons) زمانی که کاربر کلیک میکند به اکشن متد ()OnPOst هدایت میشوند، برای اینکه این دو دکمه (submit buttons) به مسیر های متفاوتی هدایت شوند و یا اطلاعات را در جدول های متفاوتی ذخیره کنند از اتربیوت  

asp-page-handler=""

استفاده میکنیم 

برای مثال دو دکمه بالا به این صورت خواهند بود

       <div class="form-group">
                <input type="submit" value="Create" class="btn btn-primary" asp-page-handler="Save"/>
       </div>
       <div class="form-group">
                <input type="submit" value="Create" class="btn btn-primary" asp-page-handler="SaveRedirect"/>
       </div>

برای دریافت اطلاعات از دو دکمه متفاوت در قسمت Page Modal دو اکشن به نامهای زیر خواهیم داشت

public void OnPost()
{
   //... put code to save 
}
public void OnPostSubscribe()
{
   //... put code to save 
}