PDA

View Full Version : اجرا کردن فایلasp.net در سایت دیگر بدون redirect



tc1000
شنبه 01 اردیبهشت 1386, 02:25 صبح
با سلام

من میخوام توی یک صفحه asp.net که نوشتم یک سری اطلاعات رو به یک URL که در سایت خودم نیست پاس کنم. ولی نمیخوام صفحه اون سایت نمایش داده بشه یعنی این کار با دستور

response.redirect("http://www.domain.com/get.aspx?username=qw&pass=tyhe&message=salam")
براحتی انجام میشه ولی مشکل اینکه که میره به سایتی دیگر
من میخوام یک دستوری داشته باشه که در پنهان اون url باز شه و بعد از اجرای اون بقیه دستورات اون صفحه که مربوط به سایت خود هست اجرا بشن.
یعنی مثل اینه که هیچ اتفاقی روی سایت کسی رخ نداده.

فکر میکنم این کار با Webservice حل بشه ولی متاسفانه باweb service کاملا نا آشنا هستم.
در صورتی که از دستوری میشه استفاده کرد بگید و در غیر این صورت بگید منWeb service رو چطوری یاد بگیرم.
یا مقاله بود که مدیر سایت زحمت کشید معرفی کردند ولی چیزی در مورد پاس کردن مقادیر به این شکل و یا ارتباط با بانکهای اطلاعاتی نگفته بودند.


با تشکر

ealireza
شنبه 01 اردیبهشت 1386, 09:42 صبح
والا اگه فقط یک REQUEST میخای تو یه IFRAME بنداز کارت راحت میشه !
وگرنه با استفاده از کلاس SYSTEM.NET به راحتی میتونی این کارو بکنی

موفق باشید

tc1000
شنبه 01 اردیبهشت 1386, 11:49 صبح
چطور این کار رو کنم میشه یه کد با کلاس SYSTEM.NET برام بزارید

nazaninam
شنبه 01 اردیبهشت 1386, 12:31 عصر
کلاس SYSTEM.NET دارای httpwebrequest هست که میتونی ازش استفا ده کنی
میتونی از کلاس WebBrowser هم استفاده کنی!
میتونی از جاوا اسکریپت استفاده کنی!
میتونی یک عکس ( یک Spacer ) داخل صفحه بگذاری و src اون رو به سایت مورد نظر بدی!
وخیلی کارای دیگه ...

habedijoo
شنبه 01 اردیبهشت 1386, 12:48 عصر
دوست عزیز یه Iframe کوچیک بزار سریع مشکلت حل میشه

OlympicTelecom
یک شنبه 02 اردیبهشت 1386, 12:39 عصر
server.execute
با این هم میشه البته شایداشتباه نوشته باشم ولی همچین چیزی هست

chemical
یک شنبه 02 اردیبهشت 1386, 12:55 عصر
میشه در مورد IFRAME توضیح بدین؟

صابر
یک شنبه 02 اردیبهشت 1386, 13:49 عصر
آقای عابدی جو IFRAME چرا؟!
وقتی خود دات نت این ابزار رو داره.
از کلاس WebRequest در System.Net میتونید استفاده کنید.
این صفحه رو ببینید:
http://aspnet.4guysfromrolla.com/articles/122204-1.aspx

habedijoo
یک شنبه 02 اردیبهشت 1386, 13:55 عصر
ببین دوست عزیز فرض کن یه صفحه داری که شامل چند صفحه می شود . و هر کدام بصورت مستقیم به یک URL متصل است . برای این کار از IFrame استفاده می شود .
اگر قصد نشان دادن صفه مورد نظرت را نداری و تنها در پی اجرا شدن کدهای آن هستی بهتره که از همان کلاس دات نت که جناب صابر سلیمانی لطف کردند و براتون لینک گذاشتن استفاده کنی .

OlympicTelecom
یک شنبه 02 اردیبهشت 1386, 14:32 عصر
مشکل ifram اینه که اگه کاربر View Source رو بزنه url ای که Ifrma بهش rdirectشده دیده میشه و ایشون ظاهرا میخوان کاربر متوجه نشه

saeid taheri
دوشنبه 03 اردیبهشت 1386, 05:00 صبح
کلاس SYSTEM.NET دارای httpwebrequest هست که میتونی ازش استفا ده کنی
میتونی از کلاس WebBrowser هم استفاده کنی!
میتونی از جاوا اسکریپت استفاده کنی!
میتونی یک عکس ( یک Spacer ) داخل صفحه بگذاری و src اون رو به سایت مورد نظر بدی!
وخیلی کارای دیگه ...

اگه ممکنه یک مثال با httpwebrequest بزنید تا بیشتر آشنا بشیم

tc1000
دوشنبه 03 اردیبهشت 1386, 09:46 صبح
باسلام
با اجازه از آقا صابر این کد رو گذاشتم چون ایشون این رو به من معرفی کردند و کارم هم خیلی عالی راه افتاد


<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.IO" %>

<script runat="server" language="VB">

Sub Page_Load(sender as Object, e as EventArgs)
'Create the HttpWebRequest object
Dim req as HttpWebRequest = WebRequest.Create("http://www.yahoo.com/")

Try
'Get the data as an HttpWebResponse object
Dim resp as HttpWebResponse = req.GetResponse()

'Convert the data into a string (assumes that you are requesting text)
Dim sr as New StreamReader(resp.GetResponseStream())
Dim results as String = sr.ReadToEnd()
sr.Close()

html.Text = results
Catch wex as WebException
Response.Write("<font color=red>SOMETHING WENT AWRY!<br />Status: " & wex.Status & "Message: " & wex.Message & "</font>")
End Try
End Sub

</script>


<form runat=server>
The following textbox contains the HTML returned by a request to http://www.yahoo.com
<p>
<asp:TextBox runat=server id="html" TextMode="MultiLine" Columns="60" Rows="15" />
</form>