আমি কীভাবে এএসপি.নেটে পৃষ্ঠাটি রিফ্রেশ করব? (কোড দ্বারা এটি নিজেকে পুনরায় লোড করা যাক)


158

আমি কীভাবে এএসপি.নেটে একটি পৃষ্ঠা রিফ্রেশ করব? (কোড দ্বারা এটি নিজেকে পুনরায় লোড করা যাক)

আমি বরং প্রতিক্রিয়া ব্যবহার করব না ededededededed edededed Iededed ((((((ed because because because because because because because because because because because because because because because because because because because because because because because because।। Because because।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।।


2
আমি ওপি নই, তবে একটি কারণ হতে পারে কারণ জাভাস্ক্রিপ্ট অক্ষম করা যেতে পারে
— নাথান কোপ

11
এএসপি.নেট জাভাস্ক্রিপ্টের উপর নির্ভর করে, তাই যদি কোনও ব্যবহারকারী জাভাস্ক্রিপ্ট অক্ষম করে থাকে তবে আরও বড় সমস্যা আছে ...
— জুনমেল

উত্তর:


45

পৃষ্ঠাটি ক্লায়েন্টকে রেন্ডার হয়ে গেলে আপনার কাছে রিফ্রেশ করার জন্য কেবল দুটি উপায় রয়েছে। একটি জাভাস্ক্রিপ্ট

setTimeout("location.reload(true);", timeout);

দ্বিতীয়টি একটি মেটা ট্যাগ:

<meta http-equiv="refresh" content="600">

আপনি সার্ভারের পাশে রিফ্রেশ অন্তরগুলি সেট করতে পারেন।


আমি সেটটাইমআউট কোথায় রাখা উচিত?
— সিটি

NET ব্যবহার করে এটি করার ভাল উপায়ের জন্য দয়া করে নীচে @ গৌরভের উত্তরটি দেখুন Server.TransferRequest।
— sfarbota

এটি কোনও পৃষ্ঠার জন্য সার্ভার সাইড সমর্থন ব্যবহার না করার জন্য সঠিক হতে পারে, তবে এটি নির্দিষ্ট করা সম্পর্কিত ক্ষেত্রে ভুল et
— ফিল হিলি

394

আমার ব্যবহারকারীর নিয়ন্ত্রণে, ডেটা আপডেট করার পরে আমি করি:

  Response.Redirect(Request.RawUrl);    

এটি নিশ্চিত করে যে পৃষ্ঠাটি পুনরায় লোড হয়েছে এবং এটি একটি ব্যবহারকারী নিয়ন্ত্রণ থেকে দুর্দান্ত কাজ করে। আপনি RawURL ব্যবহার করেন এবং Request.Url.AbsoluteUriঅনুরোধের অন্তর্ভুক্ত থাকতে পারে এমন কোনও জিইটি প্যারামিটার সংরক্ষণ করার জন্য নয়।

আপনি সম্ভবত ব্যবহার করতে চান না: __doPostBackযেহেতু একটি পোস্টব্যাক করার সময় অনেকগুলি এসপেক্স পৃষ্ঠাগুলি আলাদা আচরণ করে ve


4
@ ক্রিস আপনি কি উত্তর হিসাবে দ্বিতীয় প্যারামিটারটি ব্যবহার করবেন? পুনর্নির্দেশ (অনুরোধ.রোউআরল, মিথ্যা)? স্পষ্টতই, reponse.redirect ব্যবহার করার সময় এটি সর্বোত্তম অনুশীলন। আপনি কি মনে করেন?
— আলেফোনসো

@ এ্যালাফোনসো: আমি ব্যক্তিগতভাবে দ্বিতীয় প্যারামিটারটি কখনও ব্যবহার করি নি এবং এর ফলস্বরূপ কোনও সমস্যাও হয়নি, সুতরাং এটি আপনাকে কী কিনে তা আমি নিশ্চিত নই। তবে হ্যাঁ, ডকুমেন্টেশন অনুসারে, আপনি ২ য় প্যারামিটার ব্যবহার করা উচিত, তবে কেবল আপনি যদি কমপ্লিটরেক্সেস্ট কল করতে যাচ্ছেন - যা আমি কখনও বিরক্ত করি নি।
— ক্রিস

কখনও কখনও আপনার AbsolveUri প্রয়োজন হতে পারে, যখন বর্তমান পৃষ্ঠায় একটি আইডি প্যারামিটার রয়েছে (স্ট্যাকওভারফ্লোতে এখানে একটি প্রশ্নের মতো)। নাকি আমি ভুল করছি?
— কুলারবাইটস

2
@ এলাফোনসো ঠিক আছে - যদি আপনি পৃষ্ঠায় সমস্ত প্রসেসিং বন্ধ করতে না চান, যা কখনও কখনও দুর্বল নকশার পরিকল্পনার সূচক হয়, আপনার দ্বিতীয় প্যারাম হিসাবে একটি ভুল পাস করা উচিত। ২ য় প্যারামটি পাস না করে বা সত্যটি পাস না করে একটি এইচটিপিএক্সেপশন ছুঁড়ে দেয় এবং পারফরম্যান্সে প্রভাব ফেলতে পারে এবং ইভেন্টের লগগুলি পূরণ করতে পারে।
— রিপসাইড

45

এটি হয়ত দেরীতে হতে পারে তবে আমি আশা করি এটি উত্তরটির সন্ধানকারী কাউকে সহায়তা করবে।

এটি করতে আপনি নিম্নলিখিত লাইনটি ব্যবহার করতে পারেন:

Server.TransferRequest(Request.Url.AbsolutePath, false);

Response.Redirectএটি প্রক্রিয়াটির পদক্ষেপগুলি বাড়ায় এটি ব্যবহার করার চেষ্টা করুন । এটি আসলে যা করে তা হ'ল:

  1. পুনঃনির্দেশ শিরোনাম সহ পৃষ্ঠাটি প্রেরণ করে
  2. ব্রাউজারটি গন্তব্য URL এ পুনঃনির্দেশ করে।

আপনি দেখতে পাচ্ছেন, একই ফলাফলটি 1 ট্রিপের পরিবর্তে 2 টি ট্রিপ নেয়।


2
সার্ভার.টান্সফার () রেসপন্সের চেয়ে আরও কার্যকরী উপায় বলে চিহ্নিত করার জন্য +1 edসংশ্লিষ্ট ()
— জেনি ও'রিলি

এটি এমন ক্ষেত্রে কাজ করেছে যেখানে প্রতিক্রিয়া। প্রত্যাক্ষর সঠিকভাবে কাজ করে নি।
— এড বেয়িয়েটস

আমি খুঁজে পেয়েছি যে এটি পৃষ্ঠাগুলির স্থিতি পরিষ্কার করে না, উদাহরণস্বরূপ একটিতে সেট .Textকরা TextBoxবা এর .Visibleস্থিতি Button।
— মেঘ

38

এটা চেষ্টা কর:

Response.Redirect(Request.Url.AbsoluteUri);

1
এটি কেবল পৃষ্ঠার পরিবর্তে একটি পুনর্নির্দেশ পৃষ্ঠা প্রেরণ করবে, এমন লুপ তৈরি করবে যা ব্রাউজারটি থামবে যখন দেখবে যে এটি কখনও আসল পৃষ্ঠা পাবে না ...
— গুফা

2
@ গুফা যা প্রসঙ্গে পুনঃনির্দেশ ব্যবহৃত হয় তার উপর পুরোপুরি নির্ভর করে। যদি এটি কোনও ক্রিয়া / কোড ব্লকে ব্যবহৃত হয় যা বিশেষত কোনও ক্রিয়া বা শর্তের উপর ভিত্তি করে ডাকা হয় তবে এটি কেবল প্রতিটি পুনরাবৃত্তির একবারই চালিত হবে এবং যদি বিচ্ছিন্নভাবে সঠিকভাবে কোড করা থাকে।
— ফিলি হিলি

এটি পুনঃনির্দেশের পরে সেশন ডেটা হারাতে পারে। সম্পূর্ণরূপে যোগ্য ইউআরএল সম্পর্কে এমন কিছু রয়েছে যা সেশনগুলিতে গোলযোগ করে।
— ক্রিস চডমোর

13

জাভাস্ক্রিপ্টের অবস্থান.রেড () পদ্ধতিটি ব্যবহার করুন ।

<script type="text/javascript">
  function reloadPage()
  {
    window.location.reload()
  }
</script>

8

পৃষ্ঠাটি রিফ্রেশ করার জন্য বিভিন্ন পদ্ধতি রয়েছে যেমন এসপ নেটনে ...

জাভা স্ক্রিপ্ট

 function reloadPage()
 {
     window.location.reload()
 }

পিছনে কোড

Response.Redirect(Request.RawUrl)

মেটা ট্যাগ

<meta http-equiv="refresh" content="600"></meta>

পৃষ্ঠা পুনর্নির্দেশ

Response.Redirect("~/default.aspx"); // Or whatever your page url

6

আপনি যদি একটি পূর্ণ পৃষ্ঠা রিফ্রেশ করতে না চান, তবে আপনি আপডেটপ্যানেলের অভ্যন্তরে যা রিফ্রেশ করতে চান তা মোড়ানো এবং তারপরে একটি অ্যাসিনক্রোনাস পোস্টব্যাক করবেন কীভাবে?


3

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

//tell the browser to post back again in 5 seconds while keeping state of all controls
ClientScript.RegisterClientScriptBlock(this.GetType(), "refresh", "<script>setTimeout(function(){ " + ClientScript.GetPostBackClientHyperlink(butRefresh, "refresh") + " },5000);</script>");

2

আপনি এটা করতে পারবেন না। আপনি যদি কোনও পুনর্নির্দেশ (বা অন্য কোনও সার্ভার কৌশল) ব্যবহার করেন তবে আপনি কখনই আসল পৃষ্ঠাটি ব্রাউজারে প্রেরণ করতে পারবেন না, কেবল পুনর্নির্দেশের পৃষ্ঠাগুলি।

এটি করার জন্য আপনাকে হয় একটি মেটা ট্যাগ বা জাভাস্ক্রিপ্ট ব্যবহার করতে হবে, যাতে আপনি পৃষ্ঠাটি কিছুক্ষণ প্রদর্শিত হওয়ার পরে পুনরায় লোড করতে পারেন:

ScriptManager.RegisterStartupScript(this, GetType(), "refresh", "window.setTimeout('window.location.reload(true);',5000);", true);

2

আপনার মধ্যে page_load, এটি যুক্ত করুন:

Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "no-cache");
Response.Expires = -1;


1

আপনি এই সমস্যাটি সমাধানের জন্য 2 টি উপায় ব্যবহার করতে পারেন: 1) হেড ট্যাগের পরে

<head> 
<meta http-equiv="refresh" content="600">
</head>

2) যদি আপনার পৃষ্ঠাতে হেড ট্যাগ না থাকে তবে আপনাকে অবশ্যই প্রয়োগ করতে জাভাস্ক্রিপ্ট ব্যবহার করতে হবে

<script type="text/javascript">
  function RefreshPage()
  {
    window.location.reload()
  }
</script>

আমার যোগাযোগ:

http://gola.vn


1

আমি পৃষ্ঠা রিফ্রেশ করার একমাত্র সঠিক উপায়টি ছিল জাভাস্ক্রিপ্টের মাধ্যমে, শীর্ষের অনেকগুলি। নেট উত্তর আমার পক্ষে ব্যর্থ হয়েছিল।

Response.Write("<script type='text/javascript'> setTimeout('location.reload(true); ', timeout);</script>");

উপরের কোডটি বোতাম ক্লিক ইভেন্টে বা যে কোনও জায়গায় পৃষ্ঠা রিফ্রেশ করতে বাধ্য করতে হবে।

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