سلام
من می خواهم یک استرینگ شامل کد های اچ تی ام ال را که توسط برنامه تولید می شود در صفحه ای که کاربر مشاهده می کند نمایش دهم چطور این کار انجام می شود؟
سلام
من می خواهم یک استرینگ شامل کد های اچ تی ام ال را که توسط برنامه تولید می شود در صفحه ای که کاربر مشاهده می کند نمایش دهم چطور این کار انجام می شود؟
<%= myVariable %>
private void Button1_Click(object sender, System.EventArgs e)
{
مثلا میخواهم در صفحه نهایی این کد اضافه شود
<p align="center">&nbsp;</p>
}
کد بنده واضح بود!
از آنجایی که قصد مقدار دهی به متغیر رشته ای در روال Click کنترل Button1 را دارید، باید یک متغیر به صورت سراسری تعریف کنید. پس از مقدار دهی به متغیر در روال Click، به شکلی که قبلا اشاره کردم، متغیر را در مکان دلخواه وب فرم چاپ کنید.
آقای راد
وقتی کد Html میخواهیم اضافه کنیم یک ایراد میگیرد.
شما جایی گفته بودید که چیزی را در بالای صفحه باید نوشت
میشه دوباره بگید چی بود؟ چون من پیداش نکردم.
validateRequest="False" ؟
در دایرکتیو Page:
validateRequest="False"
لطفاً راهنمایی کنید کجا اشتباه کردم؟
Thanks to ImageShack for Free Image Hosting
خط تعریف متغیر loader رو به اولین خط برنامه ببرید. قبل از public Class h
بهروز جان بردم قبل از public Class h اما error می دهد.
C:\Inetpub\wwwroot\App1\test.aspx.cs(17):
A namespace does not directly contain members such as fields or methods
درسته. اشتباه از جانب بنده بود. با 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";
}
}
private void Page_Load(object sender, System.EventArgs e)
{
loader="T!--#include virtual='about.htm' --T";
}
آیا دستور بالا اشتباه است؟؟؟
بعد از اجرا هیچ اتفاقی نمی افتد.
لطفاً T را با < و > عوض کنید
آخرین ویرایش به وسیله JikSearch : دوشنبه 10 مرداد 1384 در 11:53 صبح
یک کار دیگر هم میتوانید انجام بدهید ، یک obejct literal روی صفحه قرار بدید و بعد :
litObject.Text = "ali"
اولا: Literal Control یا هر نمایش دهنده ی دیگه ای مشکل شما رو حل نمی کنه.
مرورگر، میان حروف HTML موجود در متن و متن اصلی تفاوت قائل می شود. به همین خاطر، کدی که شما نوشتید - سینتکس Comment - در نظر گرفته میشه و نمایش داده نمیشه.
به منظور رفع این مشکل، باید از متد HtmlEncode کلاس HttpUtility استفاده کنید.
loader = HttpUtility.HtmlEncode("T!--#include virtual='about.htm' --T");
موفق باشید.
آقای راد من از کد بالا استفاده کردم اما در صفحه فقط نوشت:
T!--#include virtual='about.htm' --T
پس می خواستی چی بنویسه؟
می خواستم محتویات صفحه about.htm را بنویسد مانند وقتی که این دستور را در میان کد های html می نویسیم و محتویات صفحه را نمایش می دهد.
جناب JikSearch!
اولا: سوال شما دو پهلو بود و میشد به دو شکل به اون نگاه کرد.
دوما: دستور include، یک دستور Server-Side هست. مسلم هست که مرورگر این دستور رو نمیشناسه و به عنوان یک Comment، یا در صورت تبدیل با تابع HtmlEncode، به صورت یک متن ساده در نظر می گیره.
اولاً حق با شماست
دوماً حرف حساب جواب نداره
سوماً درمورد این موضوع پیشنهادی ندارید؟
به کاری که شما قصد انجامش رو دارید، اصطلاحا، On-The-Fly میگن.
کامپایلر دات نت، با فراهم کردن نیم اسپیس System.CodeDom.Compiler، به برنامه نویس اجازه اجرای کدها در زمان اجرا رو میده.
به شخصه زیاد با این نیم اسپیس سر و کار نداشتم اما در لینک زیر مثال خوبی در این باره ارائه شده:
http://www.codeproject.com/vb/net/Do...lerArticle.asp
آخرین ویرایش به وسیله Behrouz_Rad : پنج شنبه 13 مرداد 1384 در 00:07 صبح دلیل: اصلاح لینک
اولا سلام
دوما میشه به منم بگید که چرا Literal مشکل ایشان را حل نمیکنه ؟ مگه ایشان نمی خواهند یک HTML را در زمان اجرا در قسمتی از صفحه قرار بدن ؟ خوب Literal هم برای همین ساخته شده !!!!
سوما ممنون
اولا سلام.
دوما الان بهت میگم.
Literal Control واسه چاپ متن به کار میره و هیچ مزیتی نداره و کار اضافه ای انجام نمیده.
ایشون می خوان دستور HTML سمت سرور رو اجرا کنند نه اینکه یک متن رو نمایش بدن.
...........
یک Literal Control ایجاد کن و به خاصیت Text اش مقدار TBTSalamT/BT رو نسبت بده و سعی کن چاپش کنی.
می بینی که کلمه Salam به شکل Bold نمایش داده میشه.
آیا می تونی کاری کنی که تگ اچ تی ام ال B هم همراهش نمایش داده بشه؟
به خاطر مشکل ادیتور سایت، به جای حرف T از علامت بزرگتر-کوچکتر استفاده کن.
سوما خواهش می کنم.