আমি জানি উত্তর ইতিমধ্যে সরবরাহ করা হয়েছে। তবে আমি কেবল একটি ব্লেজার অ্যাপে (রেজার) এই কাজটি করার বিষয়ে বিস্তারিত জানাতে চেয়েছিলাম ...
জেএসআইন্টার্প (সি # থেকে জাভাস্ক্রিপ্ট ফাংশন চলমান) সম্পাদনের জন্য আপনাকে আইজেএসআরটাইম ইনজেক্ট করতে হবে
আপনার রেজার পৃষ্ঠাতে:
@inject IJSRuntime JSRuntime
এটি একবার ইনজেকশনের পরে, ক্লিক ইভেন্টের সাথে একটি বোতাম তৈরি করুন যা একটি সি # পদ্ধতিতে কল করে:
<MatFAB Icon="@MatIconNames.Print" OnClick="@(async () => await print())"></MatFAB>
(বা আপনি যদি ম্যাটব্লাজর ব্যবহার না করেন তবে আরও সাধারণ কিছু)
<button @onclick="@(async () => await print())">PRINT</button>
সি # পদ্ধতির জন্য:
public async Task print()
{
await JSRuntime.InvokeVoidAsync("printDocument");
}
এখন আপনার সূচক html:
<script>
function printDocument() {
window.print();
}
</script>
কিছু লক্ষণীয় বিষয়, অনক্লিক ইভেন্টগুলি অবিচ্ছিন্ন হওয়ার কারণ, আইজেএসআরটাইম ইনভেকভয়েডএন্সিঙ্কের মতো কলগুলির জন্য অপেক্ষা করছে
পিএস: উদাহরণস্বরূপ আপনি যদি এসপি নেট কোরটিতে বার্তা পাঠাতে চান:
await JSRuntime.InvokeAsync<string>("alert", "Hello user, this is the message box");
একটি নিশ্চিত বার্তা বাক্স থাকতে:
bool question = await JSRuntime.InvokeAsync<bool>("confirm", "Are you sure you want to do this?");
if(question == true)
{
//user clicked yes
}
else
{
//user clicked no
}
আশাকরি এটা সাহায্য করবে :)