আমি কীভাবে একটি এএসপি.নেট এমভিসি ক্রিয়ায় রেফারার URL পেতে পারি?


89

আমি কীভাবে একটি এএসপি.নেট এমভিসি ক্রিয়ায় রেফারার URL পেতে পারি? আপনি কোনও অ্যাকশন বলার আগে আমি পৃষ্ঠায় ফিরে যাওয়ার চেষ্টা করছি।


4
মনে রাখবেন যে সমস্ত ব্যবহারকারী-এজেন্ট (একে একে ব্রাউজারগুলি) রেফারারের তথ্য প্রেরণ করবে না এবং কেউ কেউ এটি জালও করতে পারে।
বেলুগাবোব

উত্তর:


148

আপনি Request.UrlReferrerযদি Request.ServerVariablesসরাসরি অভিধানে অ্যাক্সেস করতে না চান তবে আপনি রেফারিং ইউআরএল পেতেও ব্যবহার করতে পারেন ।


এটা ঠিক আমার প্রয়োজন। ধন্যবাদ ভাই!
দিমিত্রিভাইকো

Request.UrlReferrerআসলে ইউআরআই তবে সেখান থেকে আপনি রেফারার ইউআরএল সম্পর্কিত যা কিছু প্রয়োজন তা পেতে পারেন। (ইউআরআই বনাম ইউআরএল সম্পর্কে আরও: স্ট্যাকওভারফ্লো . com/ প্রশ্ন / 176264/… )।
মিগুয়েল


9

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

filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath

4
এটি একটি ফিল্টার প্রসঙ্গে কাজ করবে, তবে প্রশ্নটির অনুরোধ হিসাবে কর্ম প্রসঙ্গে নয়।
জেস রিয়া

3

আপনি ভিউমোডেলে রেফারার ইউআরএল পাস করতে পারেন, আমার মতে এটি আরও ভাল পদ্ধতির পরে রাজ্যের মাধ্যমে ভাগ করে নেওয়া, চেষ্টা করুন:

public interface IReferrer
{
    String Referrer { get; set; }
}

...

public static MvcHtmlString HiddenForReferrer<TModel>(this HtmlHelper<TModel> htmlHelper) where TModel : IReferrer
{
    var str = htmlHelper.HiddenFor(hh => hh.Referrer);
    var referrer = HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
    return new MvcHtmlString(str.ToHtmlString().Replace("value=\"\"", String.Format("value=\"{0}\"", referrer)));
}

...

@Html.HiddenForReferrer()

4
হু, নিজের দ্বারা আন্ডারস্কোরটি কখনই উপলব্ধি করা যায় না এটি একটি বৈধ পরিবর্তনশীল নাম। কীভাবে?
বিভারনন

@ বিভেরন আসল প্রশ্নটি কেন কেউ এভাবে ব্যবহার করবে। নামের জন্য একটি একক আন্ডারস্কোরের সাথে আমি অবগত কেবল কনভেনশনটি হ'ল এটি আপনাকে বোঝাতে বা প্রয়োজন না এমন চলকটির জন্য কেবল স্থানধারক।
ড্যানিয়েল

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