"RedirectToAction" ব্যবহার করে নিয়ামক থেকে একটি হ্যাশ এ পুনঃনির্দেশ


89

হ্যালো আমি এমভিসি কন্ট্রোলারের কাছ থেকে একটি অ্যাঙ্কর ফিরিয়ে দিতে চাই

নিয়ামকের নাম = DefaultController;

public ActionResult MyAction(int id)
{
        return RedirectToAction("Index", "region")
}

যাতে সূচী নির্দেশিত url থাকে

http://localhost/Default/#region

যাতে

<a href=#region>the content should be focus here</a>

আপনি যদি এটি এটি করতে পারেন তবে আমি জিজ্ঞাসা করছি না: আমি কীভাবে আমার ইউআরএলে একটি অ্যাঙ্কর ট্যাগ যুক্ত করতে পারি?



উত্তর:


134

আমি এইভাবে খুঁজে পেয়েছি:

public ActionResult MyAction(int id)
{
    return new RedirectResult(Url.Action("Index") + "#region");
}

আপনি এই ভার্বোজ উপায়টি ব্যবহার করতে পারেন:

var url = UrlHelper.GenerateUrl(
    null,
    "Index",
    "DefaultController",
    null,
    null,
    "region",
    null,
    null,
    Url.RequestContext,
    false
);
return Redirect(url);

http://msdn.microsoft.com/en-us/library/ee703653.aspx


4
আপনি একজন জেনিয়েন্ট সাথী! এখানে আমি কী করতে পেরেছি: নতুন রিডাইরেক্টারসাল্ট (url.Action ("সূচক"), নতুন {PKMvrEmployeeId = MvrId}) + "#region") ফিরিয়ে দিন;
— লুকানো আছে

4
পুনঃনির্দেশ (..) পদ্ধতি কল করার পরিবর্তে RedirectResult ব্যবহারের জন্য +1। রিলিজ এবং আইআইএস V এর অধীনে এমভিসিতে আপনি পুনর্নির্দেশের কারণে ব্যতিক্রমগুলি শেষ করতে পারেন কারণ একটি অনুরোধ সম্ভবত ইতিমধ্যে পুনঃনির্দেশিত, বা কোনও শিশু ক্রিয়াকলাপের অংশ, বা সামগ্রী ইতিমধ্যে পাঠানো হয়েছে।
— জানস

4
এমভিসি 5-এ, RedirectToAction ব্যবহার করার সময় এটি #% থেকে% 23 এ পালিয়ে যায় বলে মনে হয়। অন্য কেউ কি এটা অনুভব করছে?
— জেকেজগর্ডন

আমার জন্য, যখন আমি একই পদ্ধতি ব্যবহার করি তখন এটি আবার ফিরে আসে।
— জিশন আহমদ খলিল

14

দুর্দান্ত উত্তর gdoron। এখানে আমি ব্যবহার করি এমন আরও একটি উপায় (কেবলমাত্র এখানে উপলভ্য সমাধানগুলিতে যুক্ত করতে)।

return Redirect(String.Format("{0}#{1}", Url.RouteUrl(new { controller = "MyController", action = "Index" }), "anchor_hash");

স্পষ্টতই, জিডোরনের উত্তরের সাথে এই সাধারণ ক্ষেত্রে নিম্নলিখিতটি দিয়ে এটি পরিষ্কার-পরিচ্ছন্ন করা যেতে পারে;

return new RedirectResult(Url.Action("Index") + "#anchor_hash");

আপনার ক্রিয়াটি অন্য কোনও নিয়ামকের মধ্যে থাকলে প্রথম বিকল্পটি ভাল কাজ করে।
— চাদ হেডককক

11

ডট নেট কোর একটি সহজ উপায়

public IActionResult MyAction(int id)
{
    return RedirectToAction("Index", "default", "region");
}

উপরের ফলন / ডিফল্ট / সূচক # অঞ্চল । তৃতীয় প্যারামিটারটি খণ্ড যা এটি একটি # এর পরে যুক্ত করে।

মাইক্রোসফ্ট ডক্স - কন্ট্রোলারবেস


4

স্কোভেলের উত্তরে প্রসারিত করার জন্য: স্ট্রিং ইন্টারপোলেশন ব্যবহার ক্লিনার কোড তৈরি করে। এটি বিভিন্ন কন্ট্রোলারের ক্রিয়াকলাপের জন্যও কাজ করে।

return Redirect($"{Url.RouteUrl(new { controller = "MyController", action = "Index" })}#anchor");
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.