কী, কেন বা যখন সিএসটিএমএল বনাম এসপিএক্স চয়ন করা ভাল?


108

আমি জানতে চাই কি, কেন বা যখন সিএসটিএমএল চয়ন করা ভাল এবং কী, কেন বা কখন এসপিএক্স প্রযুক্তি নির্বাচন করা ভাল? এই দুটি প্রযুক্তি কীসের জন্য উদ্দিষ্ট?

ধন্যবাদ,


আমার মনে হয় না আমি মাইক্রোসফট.কম ওয়েবসাইটের কোথাও সিএসটিএমএল ফাইল দেখেছি।
ব্যবহারকারী 34660

@ ব্যবহারকারী 34660 আপনি এটি নির্ধারণ করবেন যে এটি সিএসটিএমএল বা এসএসপিএস কিনা? এক্সটেনশন গোপন করা হয়।
সাজুউক

উত্তর:


111

অন্যান্য লোকেরা যেমন উত্তর দিয়েছে, .cshtml(বা .vbhtmlযদি এটি আপনার স্বাদটি হয়) এমভিসি ইঞ্জিনটি লোড করতে হ্যান্ডলার-ম্যাপিং সরবরাহ করে। .aspxএক্সটেনশন কেবল aspnet_isapi.dll যে সঞ্চালিত কম্পাইল লোড করে এবং ওয়েব ফর্ম আপ স্থল। হ্যান্ডলার ম্যাপিংয়ের পার্থক্য হ'ল এমভিসি অ্যাপ্লিকেশন এবং ওয়েব ফর্ম উভয় অ্যাপ্লিকেশনগুলিকে একটি সাধারণ মূলের অধীনে থাকতে দেয়, একই সার্ভারে দুজনকে সহাবস্থান করার অনুমতি দেওয়ার একটি পদ্ধতি।

এটি http://www.mydomain.com/MyMVCApplication কে বৈধ হতে এবং এমভিসি বিধিগুলির সাথে http://www.mydomain.com/MyWeb Forms অ্যাপ্লিকেশনটিকে একটি স্ট্যান্ডার্ড ওয়েব ফর্ম হিসাবে বৈধ হতে দেয়।

সম্পাদনা:
প্রযুক্তিগুলির মধ্যে পার্থক্য হিসাবে, এমভিসি (রেজার) টেম্প্লেটিং ফ্রেমওয়ার্কটি ফিরে আসার উদ্দেশ্যে। নেট পেজগুলিকে মডেল (ব্যবসায় / ডেটা অবজেক্ট) এর মধ্যে কোড লজিককে পৃথক করে টেম্প্লেটড ভিউগুলির আরও একটি রিস্টাল "ওয়েব-ভিত্তিক" প্ল্যাটফর্মে নিয়ে যাওয়া হয়েছে et , দর্শন (ব্যবহারকারী কী দেখায়) এবং নিয়ন্ত্রণকারীরা (দুজনের মধ্যে সংযোগ)। ওয়েব ফর্ম মডেল (এসপিএক্স) মাইক্রোসফ্টের একটি জটিল উইন্ডোজ অ্যাপ্লিকেশনগুলির মতো উইন্ডফোর্ড অ্যাপ্লিকেশনের অনুরূপ আরও একটি রাষ্ট্রীয় অ্যাপ্লিকেশন সৃজন করার জন্য জটিল জাভাস্ক্রিপ্ট এম্বেডিং ব্যবহার করার একটি প্রচেষ্টা ছিল যা একটি পৃষ্ঠা থেকে অন্য পৃষ্ঠায় নিজের রাজ্য বজায় রাখতে সক্ষম হবে page

এক বা অন্যটিকে ব্যবহারের পছন্দটি সর্বদা একটি বিতর্কিত হতে চলেছে কারণ উভয় সিস্টেমের পক্ষে এবং বিপক্ষে যুক্তি রয়েছে। আমি এমভিসি আর্কিটেকচারের সরলতার মতো (যদিও রাউটিংটি সহজ কিছু নয়) এবং রেজার সিনট্যাক্সের স্বাচ্ছন্দ্যের জন্য। আমি মনে করি কার্যকর ওয়েব প্ল্যাটফর্ম হতে ওয়েবফর্মের আর্কিটেকচারটি খুব ভারী। বলা হচ্ছে, এমন অনেকগুলি দৃষ্টান্ত রয়েছে যেখানে ওয়েবফোর্ডের কাঠামো একটি সমৃদ্ধ ইভেন্ট কাঠামোর সাথে খুব সংক্ষিপ্ত এবং ব্যবহারযোগ্য মডেল সরবরাহ করে যা ভালভাবে সংজ্ঞায়িত। এটি সমস্ত অ্যাপ্লিকেশনগুলির প্রয়োজনীয়তা এবং এটি নির্মাণকারীদের পছন্দগুলিতে উত্সাহিত হয়।


11
+1, রাষ্ট্রবিহীন ওয়েবের জন্য রাষ্ট্রীয় পরিবেশ তৈরির উদ্দেশ্যে এটিএস.এনইটি ওয়েব ফর্মের লক্ষ্যটির মধ্যে পার্থক্য সম্পর্কে এটি একটি গুরুত্বপূর্ণ বিষয়।
স্মার্টকাভম্যান

সিএসটিএমএলের তুলনায় এসপেক্সের একটি বড় সুবিধা হ'ল আপনি নিজেরাই ডিজাইন ট্যাবটি ব্যবহার করে পৃষ্ঠাটি দেখতে (ডাব্লু ইউএসআইওয়াইওয়াইগি ধরনের) দেখতে এবং সম্পাদনা করতে পারবেন। সিএসটিএমএল ফাইলগুলির সাহায্যে আপনি সম্ভবত এইচটিএমএল পৃষ্ঠা সম্পাদনা করতে নোটপ্যাড ব্যবহার করতে পারেন। আপনি "অন্ধকারে" কাজ করছেন।
nivs1978

@ নিভস ১৯৮:: আমি আসলে এটির ডাউন-সাইড বলে মনে করি। অনেকগুলি বিকাশকারী মড়াল মার্কআপ লিখতে ক্রাচ হিসাবে এটি ব্যবহার করে। শেষ পর্যন্ত, ডিজাইনার কেবল আপনাকে পৃষ্ঠার একটি "প্রায়" সংস্করণ দেখাতে সক্ষম কারণ এটি কেবলমাত্র তার নিজস্ব অভ্যন্তরীণ "ব্রাউজার" এর সাথে ভিউ রেন্ডার করবে। আপনি কীভাবে কোনও পৃষ্ঠা প্রদর্শিত হবে তার সাধারণ জ্ঞান পেতে পারেন, তবে এটি সত্য ব্রাউজারে রেন্ডার হওয়া অবধি আপনি জানতে পারবেন না।
জোয়েল ইথারটন

44

রেজার হ'ল এএসপি.নেট এমভিসি, এবং একটি টেম্পলেট ইঞ্জিনের জন্য একটি ভিউ ইঞ্জিন । রেজার কোড এবং এএসপি.নেট ইনলাইন কোড (মার্কআপের সাথে মিশ্রিত কোড) উভয়ই প্রথমে সংকলিত হয়ে মৃত্যুদন্ড কার্যকর হওয়ার আগে অস্থায়ী সমাবেশে পরিণত হয়। সুতরাং, ঠিক সি # এবং ভিবি.এনইটি উভয়ই আইএলকে সংকলন করে যা তাদেরকে বিনিময়যোগ্য করে তোলে, রেজার এবং ইনলাইন কোড উভয়ই আদান-প্রদানযোগ্য।

অতএব, এটি আরও স্টাইল এবং আগ্রহের বিষয়। আমি এএসপি.এনইটি ইনলাইন কোডের চেয়ে রেজারের সাথে বেশি আরামদায়ক, অর্থাৎ আমি রেজার (সিএসটিএমএল) পৃষ্ঠাগুলি। এসপিএক্স পৃষ্ঠাগুলিতে পছন্দ করি।

কল্পনা করুন যে আপনি একটি Humanক্লাস পেতে চান এবং এটি রেন্ডার করতে পারেন। ইন cshtml আপনি যে ফাইলগুলি লিখুন:

<div>Name is @Model.Name</div>

যখন aspx ফাইল আপনি লিখুন:

<div>Name is <%= Human.Name %></div>

আপনি দেখতে পাচ্ছেন যে @রেজারের চিহ্নটি মিক্সিং কোড এবং মার্কআপকে আরও সহজ করে তোলে।


6
রেজারে @ মিকাআলমায়ার দৃ strongly়ভাবে Modelটাইপ করা দর্শনগুলির জন্য ব্যবহৃত হয়, যাতে আপনি modelকীওয়ার্ড ব্যবহার করে শীর্ষে আপনার প্রকারটি নির্ধারণ করেন ।
সাইদ নেমতি

আপনার জন্য একটি ছোট প্রশ্ন @ সাeedদনায়েতি ...... বলুন আমরা জটিল মাইক্রো-সার্ভিসেস ভিত্তিক এসওএপি ওয়েবপিআই গ্রাহনের জন্য একটি ওয়েব অ্যাপ্লিকেশন তৈরি করছি .... এই পরিস্থিতিতে, এসপিএন এমভিসি এসপেক্স বা এমভিসি সিএসটিএমএল ব্যবহার করা ভাল better । আমি ব্যক্তিগতভাবে সিএসটিএমএল সিনট্যাক্সটি সহজ অনুভব করেছি।
কোডমিলান

উত্তম উত্তর ... এই উত্তরটি বুঝতে খুব সহজ ..., কমপক্ষে আমার মতো
নবজাতকদের

10

রেজার ( .cshtml/ .vbhtml) এবং ওয়েব ফর্ম ( .aspx/ .ascx) এর মধ্যে সিনট্যাক্স অবশ্যই পৃথক পৃথক , (রেজার দুটির চেয়ে আরও সংক্ষিপ্ত এবং আধুনিক), তবে কেউই উল্লেখ করেনি যে উভয়ই ভিউ ইঞ্জিন / টেম্প্লেটিং ইঞ্জিন হিসাবে ব্যবহার করা যেতে পারে, traditionalতিহ্যবাহী এএসপি.এনইটি ওয়েব ফর্ম নিয়ন্ত্রণগুলি কোনও .aspx বা .ascx ফাইলগুলিতে ব্যবহার করা যেতে পারে, (এমনকি কোনও এমভিসি আর্কিটেকচারের সাথে একাত্ম হয়েও)।

এটি এমন পরিস্থিতিতে প্রাসঙ্গিক যেখানে কোনও সমস্যার দীর্ঘস্থায়ী সমাধানগুলি প্লাগেবল উপাদান (যেমন একটি বড়-ফাইল আপলোড নিয়ন্ত্রণ) হিসাবে প্যাক করা হয়েছে এবং আপনি এটি এমভিসি সাইটে ব্যবহার করতে চান। রেজারের সাহায্যে আপনি এটি করতে পারবেন না। তবে, আপনি ওয়েব ফর্ম দর্শন সহ traditionalতিহ্যবাহী এএসপি.এনইটি আর্কিটেকচারের সাহায্যে একই ব্যাকএন্ড-প্রক্রিয়াজাতকরণের সমস্ত সম্পাদন করতে পারেন।

তদ্ব্যতীত, এএসপি.নেট ওয়েব ফর্মের ভিউগুলিতে কোড-বিহাইন্ড ফাইল থাকতে পারে, যা দৃশ্যের সাথে একত্রে সংকলিত পৃথক ফাইলে এম্বেডিং যুক্তিকে মঞ্জুরি দেয়। সফ্টওয়্যার বিকাশকারী সম্প্রদায়টি দৃly়ভাবে সংযুক্ত আর্কিটেকচার এবং স্মার্ট ক্লায়েন্ট প্যাটার্নটিকে খারাপ অনুশীলন হিসাবে দেখায় , এটি জিনিসগুলি করার প্রধান উপায় হিসাবে ব্যবহৃত হত এবং এখনও। এসপিএক্স / .অ্যাসেক্স ফাইলগুলি দিয়ে খুব সম্ভব। ইচ্ছাকৃতভাবে রেজারের তেমন কোনও গুণ নেই।


আমি যখন এটি লিখতে শুরু করি, জোয়েল তার সম্পাদনা করেনি, তবে কেউ যদি এটির সহায়ক মনে করে তবে আমি এটি ছেড়ে দেব
স্মার্টক্যাভম্যান

4

সিএসটিএমএল ফাইলগুলি রেজার দ্বারা ব্যবহৃত হয় এবং এই প্রশ্নের উত্তর হিসাবে বলা হয়েছে , তাদের মূল সুবিধাটি হ'ল এগুলি ইউনিট পরীক্ষার অভ্যন্তরে রেন্ডার করা যেতে পারে। এই অন্যান্য বিষয়ের বিভিন্ন উত্তর আরও অনেক আকর্ষণীয় বিষয় আনবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.