View Full Version : قراردادن تگ های html در صفحه
JikSearch
سه شنبه 27 اردیبهشت 1384, 19:13 عصر
سلام
من می خواهم یک استرینگ شامل کد های اچ تی ام ال را که توسط برنامه تولید می شود در صفحه ای که کاربر مشاهده می کند نمایش دهم چطور این کار انجام می شود؟
Behrouz_Rad
سه شنبه 27 اردیبهشت 1384, 21:29 عصر
<%= myVariable %>
JikSearch
چهارشنبه 28 اردیبهشت 1384, 08:50 صبح
private void Button1_Click(object sender, System.EventArgs e)
{
مثلا میخواهم در صفحه نهایی این کد اضافه شود
<p align="center">&nbsp;</p>
}
Behrouz_Rad
چهارشنبه 28 اردیبهشت 1384, 18:12 عصر
کد بنده واضح بود!
از آنجایی که قصد مقدار دهی به متغیر رشته ای در روال Click کنترل Button1 را دارید، باید یک متغیر به صورت سراسری تعریف کنید. پس از مقدار دهی به متغیر در روال Click، به شکلی که قبلا اشاره کردم، متغیر را در مکان دلخواه وب فرم چاپ کنید.
aidinwashere
چهارشنبه 28 اردیبهشت 1384, 22:18 عصر
آقای راد
وقتی کد Html میخواهیم اضافه کنیم یک ایراد میگیرد.
شما جایی گفته بودید که چیزی را در بالای صفحه باید نوشت
میشه دوباره بگید چی بود؟ چون من پیداش نکردم.
validateRequest="False" ؟
Behrouz_Rad
چهارشنبه 28 اردیبهشت 1384, 22:31 عصر
در دایرکتیو Page:
validateRequest="False"
JikSearch
دوشنبه 10 مرداد 1384, 07:53 صبح
لطفاً راهنمایی کنید کجا اشتباه کردم؟
http://img144.imageshack.us/img144/3791/error5pd.gif
Thanks to ImageShack for Free Image Hosting (http://imageshack.us/)
Behrouz_Rad
دوشنبه 10 مرداد 1384, 08:17 صبح
خط تعریف متغیر loader رو به اولین خط برنامه ببرید. قبل از public Class h
JikSearch
دوشنبه 10 مرداد 1384, 09:29 صبح
بهروز جان بردم قبل از public Class h اما error می دهد.
C:\Inetpub\wwwroot\App1\test.aspx.cs(17):
A namespace does not directly contain members such as fields or methods
Behrouz_Rad
دوشنبه 10 مرداد 1384, 09:54 صبح
درسته. اشتباه از جانب بنده بود. با VB.NET اشتباه گرفتم.
باید متغیر رو به صورت public و بعد از نام کلاس تعریف کنید. چون به طور پیش فرض، private در نظر گرفته میشه.
public class WebForm1 : System.Web.UI.Page
{
public string s;
private void Page_Load(object sender, System.EventArgs e)
{
s="ali";
}
}
JikSearch
دوشنبه 10 مرداد 1384, 11:50 صبح
private void Page_Load(object sender, System.EventArgs e)
{
loader="T!--#include virtual='about.htm' --T";
}
آیا دستور بالا اشتباه است؟؟؟
بعد از اجرا هیچ اتفاقی نمی افتد.
لطفاً T را با < و > عوض کنید
shahroozj
دوشنبه 10 مرداد 1384, 13:36 عصر
یک کار دیگر هم میتوانید انجام بدهید ، یک obejct literal روی صفحه قرار بدید و بعد :
litObject.Text = "ali"
Behrouz_Rad
سه شنبه 11 مرداد 1384, 00:54 صبح
اولا: Literal Control یا هر نمایش دهنده ی دیگه ای مشکل شما رو حل نمی کنه.
مرورگر، میان حروف HTML موجود در متن و متن اصلی تفاوت قائل می شود. به همین خاطر، کدی که شما نوشتید - سینتکس Comment - در نظر گرفته میشه و نمایش داده نمیشه.
به منظور رفع این مشکل، باید از متد HtmlEncode کلاس HttpUtility استفاده کنید.
loader = HttpUtility.HtmlEncode("T!--#include virtual='about.htm' --T");
موفق باشید.
JikSearch
سه شنبه 11 مرداد 1384, 08:15 صبح
آقای راد من از کد بالا استفاده کردم اما در صفحه فقط نوشت:
T!--#include virtual='about.htm' --T
Behrouz_Rad
سه شنبه 11 مرداد 1384, 10:15 صبح
پس می خواستی چی بنویسه؟
JikSearch
سه شنبه 11 مرداد 1384, 10:28 صبح
می خواستم محتویات صفحه about.htm را بنویسد مانند وقتی که این دستور را در میان کد های html می نویسیم و محتویات صفحه را نمایش می دهد.
Behrouz_Rad
سه شنبه 11 مرداد 1384, 19:01 عصر
جناب JikSearch!
اولا: سوال شما دو پهلو بود و میشد به دو شکل به اون نگاه کرد.
دوما: دستور include، یک دستور Server-Side هست. مسلم هست که مرورگر این دستور رو نمیشناسه و به عنوان یک Comment، یا در صورت تبدیل با تابع HtmlEncode، به صورت یک متن ساده در نظر می گیره.
JikSearch
سه شنبه 11 مرداد 1384, 19:20 عصر
اولاً حق با شماست
دوماً حرف حساب جواب نداره
سوماً درمورد این موضوع پیشنهادی ندارید؟
Behrouz_Rad
چهارشنبه 12 مرداد 1384, 00:27 صبح
به کاری که شما قصد انجامش رو دارید، اصطلاحا، On-The-Fly میگن.
کامپایلر دات نت، با فراهم کردن نیم اسپیس System.CodeDom.Compiler، به برنامه نویس اجازه اجرای کدها در زمان اجرا رو میده.
به شخصه زیاد با این نیم اسپیس سر و کار نداشتم اما در لینک زیر مثال خوبی در این باره ارائه شده:
http://www.codeproject.com/vb/net/DotNetCompilerArticle.asp
shahroozj
شنبه 15 مرداد 1384, 08:38 صبح
اولا سلام
دوما میشه به منم بگید که چرا Literal مشکل ایشان را حل نمیکنه ؟ مگه ایشان نمی خواهند یک HTML را در زمان اجرا در قسمتی از صفحه قرار بدن ؟ خوب Literal هم برای همین ساخته شده !!!!
سوما ممنون
Behrouz_Rad
شنبه 15 مرداد 1384, 09:51 صبح
اولا سلام.
دوما الان بهت میگم.
Literal Control واسه چاپ متن به کار میره و هیچ مزیتی نداره و کار اضافه ای انجام نمیده.
ایشون می خوان دستور HTML سمت سرور رو اجرا کنند نه اینکه یک متن رو نمایش بدن.
...........
یک Literal Control ایجاد کن و به خاصیت Text اش مقدار TBTSalamT/BT رو نسبت بده و سعی کن چاپش کنی.
می بینی که کلمه Salam به شکل Bold نمایش داده میشه.
آیا می تونی کاری کنی که تگ اچ تی ام ال B هم همراهش نمایش داده بشه؟
به خاطر مشکل ادیتور سایت، به جای حرف T از علامت بزرگتر-کوچکتر استفاده کن.
سوما خواهش می کنم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.