কীভাবে একটি ক্যোরিস্ট্রিংয়ে একাধিক পরামিতি পাস করবেন


92

আমার তিনটি মান রয়েছে যা আমি যেমন strID, strNameএবং , এর জন্য প্যারামিটার হিসাবে পাস করতে পারি strDate

আমি এই তিনটি প্যারামিটারগুলিকে অন্য পৃষ্ঠায় পুনর্নির্দেশ করতে চাই Response.Redirect()any কেউ আমাকে কী সঠিক জিজ্ঞাসাবাদ সরবরাহ করতে পারেন?

উত্তর:


113

ক্যোয়ারী_স্ট্রিং

(উইকিপিডিয়া প্রবেশের লিঙ্কযুক্ত বিভাগের পাঠ্য নীচে দেওয়া হয়েছে))

কাঠামো

কোয়েরি স্ট্রিংযুক্ত একটি সাধারণ URL নীচে রয়েছে:

http://server/path/program?query_string

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

একটি ওয়েব পৃষ্ঠায় একটি লিঙ্কে একটি URL থাকতে পারে যা কোয়েরি স্ট্রিং ধারণ করে, তবে, এইচটিএমএল একটি ওয়েব ব্রাউজারটি ক্যোরি স্ট্রিং উত্পন্ন করতে পারে এমন তিনটি উপায় নির্ধারণ করে:

  • ... উপাদানটির মাধ্যমে একটি ওয়েব ফর্ম
  • কোনও সার্ভার-সাইড ইমেজ ম্যাপটি কোনও নির্মাণের সাথে উপাদানের আইসম্যাপ অ্যাট্রিবিটের মাধ্যমে
  • এখন হ্রাস করা উপাদানটির মাধ্যমে একটি সূচকযুক্ত অনুসন্ধান

ওয়েব ফর্ম

ক্যোয়ারী স্ট্রিংগুলির প্রধান ব্যবহার হ'ল এইচটিএমএল ফর্মের বিষয়বস্তু রাখা যা ওয়েব ফর্ম হিসাবেও পরিচিত। বিশেষত, ক্ষেত্র 1 ক্ষেত্র 1, ফিল্ড 2, ফিল্ড 3 সমেত একটি ফর্ম জমা দেওয়া হলে ক্ষেত্রগুলির সামগ্রীটি কোয়েরি স্ট্রিং হিসাবে নীচে এনকোড করা থাকে:

field1=value1&field2=value2&field3=value3...

  • ক্যোয়ারী স্ট্রিং ফিল্ড-ভ্যালু জুটির একটি সিরিজ দিয়ে তৈরি।
  • প্রতিটি জুটির মধ্যে, ক্ষেত্রের নাম এবং মান সমান চিহ্ন দ্বারা পৃথক করা হয়। সমান চিহ্নটি বাদ দিতে পারে যদি মানটি একটি খালি স্ট্রিং থাকে।
  • এইচটিএমএল এম্বেড থাকা URL এর জন্য এবং একটি ...; নীচে দেখুন) এর জন্য জোড়ের সিরিজটি অ্যাম্পারস্যান্ড, '&' (বা সেমিকোলন, ';' দ্বারা পৃথক করা হয়েছে। যদিও এখানে কোনও নির্দিষ্ট মান নেই, বেশিরভাগ ওয়েব ফ্রেমওয়ার্ক একাধিক মানকে একটি ক্ষেত্রের সাথে যুক্ত করতে দেয়:

field1=value1&field1=value2&field1=value3...

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

এই সম্মেলনটি ডব্লিউ 3 সি এর একটি প্রস্তাবনা। ডাব্লু 3 সি সুপারিশ করে যে সমস্ত ওয়েব সার্ভারগুলি অ্যাম্পারস্যান্ড বিভাজক ছাড়াও সেমিকোলন বিভাজককে সমর্থন করে []] এইচটিএমএল নথিগুলির মধ্যে ইউআরএলগুলিতে অ্যাপ্লিকেশন / x-www-form-urlencoded ক্যোয়ারী স্ট্রিংগুলিকে সত্ত্বা ছাড়ার অ্যাম্পারস্যান্ড না করে অনুমতি দেয়।

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


34
Query String: ?strID=XXXX&strName=yyyy&strDate=zzzzz

আপনাকে পুনঃনির্দেশ করার আগে:

string queryString = Request.QueryString.ToString();

Response.Redirect("page.aspx?"+queryString);

15

এই মত চেষ্টা করুন। এটি কাজ করা উচিত

Response.Redirect(String.Format("yourpage.aspx?strId={0}&strName={1}&strDate{2}", Server.UrlEncode(strId), Server.UrlEncode(strName),Server.UrlEncode(strDate)));


5

এটি ব্যবহার করে করা যেতে পারে:

Response.Redirect("http://localhost/YourControllerName/ActionMethodName?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3");

4
@ ডালিজাপ্রসন্নিকার এই "লিঙ্ক" একটি ইউআরএল লোকালহোস্টের দিকে নির্দেশ করছে এবং এটি উত্তরের অংশ। দয়া করে "রোবো-পর্যালোচনা" করবেন না।
এলগাভিলান

1

আমি AbsolveUri ব্যবহার করি এবং আপনি এটি এটি পেতে পারেন:

string myURI = Request.Url.AbsoluteUri;
 if (!WebSecurity.IsAuthenticated) {
        Response.Redirect("~/Login?returnUrl="
            + Request.Url.AbsoluteUri );

তারপরে আপনি লগইন করার পরে:

var returnUrl = Request.QueryString["returnUrl"];
 if(WebSecurity.Login(username,password,true)){
                Context.RedirectLocal(returnUrl);

এটি আমর জন্য ভাল কাজ করছে.

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