আইডির একাধিক অ্যারে পাস করে এবং একটি ব্লাব ফিরিয়ে দেওয়ার মতো কিছু কাজ করার জন্য আমি কয়েক দিন লড়াই করেছিলাম me .NET CORE আমি ২.১ ব্যবহার করছি তা যদি সক্রিয় হয় তবে আপনাকে [ফ্রমবিডি] ব্যবহার করা উচিত এবং ডেটা ধরে রাখতে কোনও ভিউমডেল তৈরি করার প্রয়োজন হলে কেবল এটিই ব্যবহার করতে পারেন।
নীচের মত সামগ্রী গুটিয়ে নিন,
var params = {
"IDs": IDs,
"ID2s": IDs2,
"id": 1
};
আমার ক্ষেত্রে আমি ইতিমধ্যে অ্যারেগুলি json'd করেছি এবং ফলটি ফাংশনে পৌঁছেছি
var IDs = JsonConvert.SerializeObject(Model.Select(s => s.ID).ToArray());
তারপরে XMLHttpRequest POST কে কল করুন এবং অবজেক্টটি স্ট্রিংফাই করুন
var ajax = new XMLHttpRequest();
ajax.open("POST", '@Url.Action("MyAction", "MyController")', true);
ajax.responseType = "blob";
ajax.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
ajax.onreadystatechange = function () {
if (this.readyState == 4) {
var blob = new Blob([this.response], { type: "application/octet-stream" });
saveAs(blob, "filename.zip");
}
};
ajax.send(JSON.stringify(params));
তারপরে এটির মতো একটি মডেল রাখুন
public class MyModel
{
public int[] IDs { get; set; }
public int[] ID2s { get; set; }
public int id { get; set; }
}
তারপর যেমন অ্যাকশন পাস
public async Task<IActionResult> MyAction([FromBody] MyModel model)
যদি আপনার কোনও ফাইল ফিরে আসে তবে এই অ্যাড-অন ব্যবহার করুন
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js"></script>
application/x-www-form-urlencoded
ধরণটি ব্যবহার করতে পারি : আমি যদি স্ট্রিংফাইও ব্যবহার করি তবে ব্যবহার করারapplication/json
কী দরকার? :)