PDA

View Full Version : سوال: اضافه کردن لینک درون تکس باکس



newsoft
سه شنبه 05 اردیبهشت 1391, 13:25 عصر
با سلام خدمت دوستان به نظرتون میشه داخل یه تکس باکس همینجوری که تکست اضافه می کنیم یه لینک هم اضافه کرد
روش اونو هم بگین ممنون می شم

d_derakhshani
سه شنبه 05 اردیبهشت 1391, 13:48 عصر
نمیشه. باید یا یک کنترل تکست باکس سفارشی بسازید یا از ادیتور ها استفاده کنید

aminghaderi
سه شنبه 05 اردیبهشت 1391, 13:49 عصر
با textBox نمی شه . (حد اقل من که نتونستم.)
شما به جای اون از div استفاده کنید.
سمت سرور :
div1.InnerHtml= "<div>HelloIran</div>";

سمت کلاینت :

<div id='div1' runat='server'></div>به جای تک دایو می تونی لینک بزاری.

d_derakhshani
سه شنبه 05 اردیبهشت 1391, 14:05 عصر
با textBox نمی شه . (حد اقل من که نتونستم.)
شما به جای اون از div استفاده کنید.
سمت سرور :
div1.InnerHtml= "<div>HelloIran</div>";

سمت کلاینت :

<div id='div1' runat='server'></div>به جای تک دایو می تونی لینک بزاری.
بعد دوست عزیز کجا متن رو تایپ کنن؟ ایشون کنترل تکست باکس می خوان که توش لینک بشه گویا. شایدم منظورشون چیز دیگه ای بوده باشه و تکست باکس نخوان و فقط لینک و خواسته باشن

aminghaderi
سه شنبه 05 اردیبهشت 1391, 14:17 عصر
بعد دوست عزیز کجا متن رو تایپ کنن؟ ایشون کنترل تکست باکس می خوان که توش لینک بشه گویامن تصور داشتم می خواهند متن رو نمایش بدهند.
اما اگر بخواهند توی تکس باکس هم لینک بگذارند که مشکل خواسی نیست؟! بازم تگ لینک رو می گذارند.
اما اگر بخواهند برای افراد عام این کار رو بکنند که به قول شما یه ادیتور نیاز دارند و یا اینکه استین بالا بزند و یه کلاس بنویسند که مثلا کاربر متنی رو داخل کلمات "u" و "u/" وارد کرد لینک بشه و راه زیاد هست که در جریان هستید.

newsoft
سه شنبه 05 اردیبهشت 1391, 14:37 عصر
برای نمایش می خوام لینک باشه تا شخص بتونه فایلی رو دانلود کنه
از اونجایی که باید اسکرول بخوره هم داینامیک ایجاد بشه و از طرفی داخل یه اپدیت پنل هستش و باید در سمت کد با توجه به ای دی تکس باکس بهش دسترسی داشته باشم
چه کاری کنم خوبه

d_derakhshani
سه شنبه 05 اردیبهشت 1391, 14:45 عصر
چرا id تکست باکس؟ چرا آی دی خودش نه؟ اینکه دینامیک هم باشه باز مشکلی نیست و ارتباطی با تکسک باکس نداره برای Scroll هم همینطور می تونی تو یک div بزاری و با css بش اسکرول بدی

newsoft
سه شنبه 05 اردیبهشت 1391, 15:05 عصر
من برای ایجاد تکس باکس داینامیک از کد زیر استفاده می کنم

TextBox tb = new TextBox();
tb.Height = 100;
tb.Width = 250;
tb.TextMode = TextBoxMode.MultiLine;
tb.ID = "TextBox" + username;

tb.Visible = false;

// UpdatePanel up = new UpdatePanel();

UpdatePanelControl.ContentTemplateContainer.Contro ls.Add(tb);
برای DIV از چی استفاده کنم

d_derakhshani
سه شنبه 05 اردیبهشت 1391, 15:16 عصر
دوست عزیز باید از HyperLinkButton و یا HyperLink استفاده کنید(بنا به کاربردتون. من فکر می کنم اینجا hyperlink کفایت می کنه برای شما که ساده ترم هم هست) اما در مورد تگ div به این شکل نمیشه:

اگه هر لینک اسکرول میخوره: باید یک پانل ایجاد کنید(و به پانل با استفاده از کلاس css اسکرول رو اعمال کنید)و لینک و بزارید داخل اون پانل و بعد add کنید در container مروبطه.
اگه همه باهم اسکرول می خورن که دیگه کد نمیخاد باید container بهش css اعمال کنید یا اگه نمی تونید container رو بزارید درون div که Css بهش اعمال شده

newsoft
چهارشنبه 06 اردیبهشت 1391, 15:25 عصر
با سلامی دوباره
تا اینجا
طبق جستجو هایی که کردم اگه جای تکس باکس از پنل استفاده کنم خیلی بهتره
ولی یه مشکل داره اونم اینه که هربار بخوام یه متنی اضافه کنم باید یه کنترول دروست کنم بعد به پنل اد کنم
آیا راهی دیگه ای هم هست که تو تکس باکس به شکل داینامیک تکس اضافه کنم

d_derakhshani
چهارشنبه 06 اردیبهشت 1391, 23:28 عصر
وقتی به صورت دینامیک خود تکست باکس رو میسازید خود به صورت دینامیک هم متن بدید. دقیقا منظورتون از دینامیک متن دادن چیه؟ فقط همونطور که قبلا گفته شد لینک نمی تونید بزارید(یادآوری)

newsoft
پنج شنبه 07 اردیبهشت 1391, 10:50 صبح
مثال میزنم
برای اضافه کردن متن جدید به تکس باکس از این روش استفاده می کنیم
textbox1.text +="salam";
خوب حالا اگه بخوایم به پنل یه متن اضافه کنیم تا اینا که من فهمیدم باید این کارو کنیم



Literal li = new Literal();
li.Text = " salam";
Panel1.Controls.Add(li);



خوبی حالت دوم اینه که لینک هم میشه اضافه کرد با ایجاد یه لینک باتن
ولی برای هر متن جدید یه کنترل باید ایجاد بشه که به نظرم درست نیست

تو حالت اولی متن خیلی راحت میشه اضافه کرد ولی لینک نمیشه گذاشت

d_derakhshani
پنج شنبه 07 اردیبهشت 1391, 11:03 صبح
مگه میشه یک کنترل لینک داشت و n تا آدرس هدف. به ازای هر لینک 100% باید یک کنترل داشته باشید(که بهتره hyperlink باشه تا اونجا که جا داره).
چرا کار درستی نیست؟اگه دینامیک نبود چی کار می کردید؟میشه یه مثال بزنید که برای هر متن بک کنترل نخواید(فکر کنید استاتیکه)؟

newsoft
پنج شنبه 07 اردیبهشت 1391, 11:10 صبح
ببین در مورد پنل من می خوام اینجوری متن اضافه کنم ولی به شکل داینامیک و وقتی که خواستم لینک بزارم از کنترول استفاده کنم



<asp:Panel ID="Panel1" runat="server" Height="50px" ScrollBars="Auto"
Width="288px">
hhhhh<br /> jjjj<br /> kkkkk<br /> kkkk<br />
<br />
<br />
kkkk<br />
</asp:Panel>

d_derakhshani
پنج شنبه 07 اردیبهشت 1391, 11:14 صبح
اینکار رو با یک کنترل هم می تونید انجام بدید فقط کافیه عین متنی که تو panel هست رو بدید به کنترل مربوطه
مثلا

for loop{
ctl.Text+= str+"<br/>
}

فقط یک کنترل ctl هست و چند بار ایجاد نشده

newsoft
پنج شنبه 07 اردیبهشت 1391, 11:21 صبح
میدونم
ولی نمیشه
چون احتمال داره کنترول لینک هر جا ایجاد بشه بین متن باشه
اینجوری همیشه آخر نمایش داده میشه
می خواستم یه جوری به این شکل بشه بهش متن اضافه کرد



Panel1.text+="hello";

d_derakhshani
پنج شنبه 07 اردیبهشت 1391, 11:29 صبح
ببینید اگه می خواید بین متن باشه فقط کافیه تو متن تون اینطوری بنویسید:

Ctl.Text = " hello " + "<a href='about.aspx'>link</a>";

Ctl کنترلیه که Text میگیره

newsoft
پنج شنبه 07 اردیبهشت 1391, 11:51 صبح
خوب اینم میشه
ولی خود پنل بدون اضافه کردن یه کنترول دیگه تکس نمیگیره؟؟

اگه کنترول تکس باکس باشه کد شما رو تکس میزاره لینک نمی کنه

d_derakhshani
پنج شنبه 07 اردیبهشت 1391, 12:10 عصر
کنترل lable بزارید. چه گیری دادید به تکست باکس. اونو که گفتیم نمیشه.
دوم اینکه چرا panel تکست بگیره. همین lable کار میکنه وقتی یک کنترل هست که دیگه panel نمی خاد. panel واسه زمانیه که چندتا کنترل بخواید بزارید.
:اشتباه:

newsoft
پنج شنبه 07 اردیبهشت 1391, 12:30 عصر
در این مورد اشتباه کردی
پسرم شاید بخاطر تازه کار بودنمه

خوب لیبل اسکرول نمی خوره

neda555
پنج شنبه 07 اردیبهشت 1391, 12:30 عصر
(یه چیز دیگه هم بگم تو حاشیه: چند دقیقه دیگه این متن رو پاک می کنم.
شما باید خانم باشید با تجربه ای که دارم خانم ها هستن که یک سوال رو انقدر کش میدن و اینجوری سوال می کنن)
عجبا!!!!!!!!

در این مورد اشتباه کردی
پسرم شاید بخاطر تازه کار بودنمه

خوب لیبل اسکرول نمی خوره
چرا می خوره یه سرچ بزنید!

d_derakhshani
پنج شنبه 07 اردیبهشت 1391, 12:37 عصر
خوب لیبل اسکرول نمی خوره
اونوم گفتیم. بنده اصلاح می فرمایم اگه اسکرول بخواد یا چندتا کنترل بخواید از panel استفاده کنید.
شما لطف بفرمایید یک پنل بزارید(اگه فقط یک هست یک div بزارید و css رو به اون بدید و دیگه panel استفاده نکنید.) lable رو داخلش قرار بدید و متن رو به روش گفته شده بهش بدید.
با تشکر

newsoft
پنج شنبه 07 اردیبهشت 1391, 12:42 عصر
نه داداشی لیبل به شکل زیر میشه اسکرول داد
<asp:Label Width="300" Height="80" Style="overflow:scroll" Runat="Server" Text="This is<br/>a label." />

باز هم تشکر که وقت گذاشتی

d_derakhshani
پنج شنبه 07 اردیبهشت 1391, 12:45 عصر
نه داداشی لیبل به شکل زیر میشه اسکرول داد
<asp:Label Width="300" Height="80" Style="overflow:scroll" Runat="Server" Text="This is<br/>a label." />

باز هم تشکر که وقت گذاشتی
آره اونم میشه