मुझे उस पेज का पूरा URL प्राप्त करने में सक्षम होना चाहिए जो मैं उपयोगकर्ता नियंत्रण से हूं। क्या यह केवल एक साथ अनुरोध चर के एक समूह को बदलने की बात है? यदि हां, तो कौन? या वहाँ एक और अधिक simpiler तरीका है?
मुझे उस पेज का पूरा URL प्राप्त करने में सक्षम होना चाहिए जो मैं उपयोगकर्ता नियंत्रण से हूं। क्या यह केवल एक साथ अनुरोध चर के एक समूह को बदलने की बात है? यदि हां, तो कौन? या वहाँ एक और अधिक simpiler तरीका है?
जवाबों:
मैं आमतौर पर Request.Url.ToString()
पूर्ण url (querystring सहित) प्राप्त करने के लिए उपयोग करता हूं , इसके लिए आवश्यक कोई सहमति नहीं है।
Request.Url.ToString()
क्वेरीस्ट्रिंग शामिल नहीं है।
इस प्रकार की जानकारी के लिए मैं आमतौर पर एक सूची प्रस्तुत करता हूं:
Request.ApplicationPath : /virtual_dir
Request.CurrentExecutionFilePath : /virtual_dir/webapp/page.aspx
Request.FilePath : /virtual_dir/webapp/page.aspx
Request.Path : /virtual_dir/webapp/page.aspx
Request.PhysicalApplicationPath : d:\Inetpub\wwwroot\virtual_dir\
Request.QueryString : /virtual_dir/webapp/page.aspx?q=qvalue
Request.Url.AbsolutePath : /virtual_dir/webapp/page.aspx
Request.Url.AbsoluteUri : http://localhost:2000/virtual_dir/webapp/page.aspx?q=qvalue
Request.Url.Host : localhost
Request.Url.Authority : localhost:80
Request.Url.LocalPath : /virtual_dir/webapp/page.aspx
Request.Url.PathAndQuery : /virtual_dir/webapp/page.aspx?q=qvalue
Request.Url.Port : 80
Request.Url.Query : ?q=qvalue
Request.Url.Scheme : http
Request.Url.Segments : /
virtual_dir/
webapp/
page.aspx
उम्मीद है आपको यह उपयोगी लगेगा!
Request.QueryString
q=qvalue
केवल रिटर्न
Request.Url.AbsoluteUri
यह संपत्ति आपकी जरूरत की हर चीज, एक सक्सेस कॉल में सब करती है।
इसके लिए ASP.NET Core
आपको इसे वर्तनी की आवश्यकता होगी:
@($"{Context.Request.Scheme}://{Context.Request.Host}{Context.Request.Path}{Context.Request.QueryString}")
या आप अपने विचार में एक उपयोग कथन जोड़ सकते हैं:
@using Microsoft.AspNetCore.Http.Extensions
फिर
@Context.Request.GetDisplayUrl()
उसके _ViewImports.cshtml
लिए बेहतर जगह हो सकती है@using
Request.RawUrl
अगर आपको http से लेकर querystring तक सभी पूर्ण URL की आवश्यकता है, तो आपको निम्न चर को संक्षिप्त करना होगा
Request.ServerVariables("HTTPS") // to check if it's HTTP or HTTPS
Request.ServerVariables("SERVER_NAME")
Request.ServerVariables("SCRIPT_NAME")
Request.ServerVariables("QUERY_STRING")
( MSDN के अनुसार ) Request.Url.OriginalString
से बेहतर उपयोग करने के लिएRequest.Url.ToString()
OriginalString
।
धन्यवाद दोस्तों, मैंने अपनी विशिष्ट आवश्यकता के लिए आपके उत्तर @Christian और @Jonathan दोनों के संयोजन का उपयोग किया।
"http://" + Request.ServerVariables["SERVER_NAME"] + Request.RawUrl.ToString()
मुझे सुरक्षित http के बारे में चिंता करने की आवश्यकता नहीं है, सर्वरनाम चर की जरूरत है और RawUrl डोमेन नाम से पथ को संभालता है और यदि मौजूद है तो क्वेरिस्ट्रिंग भी शामिल है।
निम्नलिखित प्रयास करें -
var FullUrl = Request.Url.AbsolutePath.ToString();
var ID = FullUrl.Split('/').Last();