PDA

View Full Version : نوشتن کد html سمت سرور و مشکل در ادامش



m2148059
یک شنبه 07 شهریور 1389, 11:25 صبح
سلام من در سمت سرور این کد را نوشتم
public string s;
protected void Page_Load(object sender, EventArgs e)
{
s = " <asp:TextBox ID='TextBox1' runat='server'></asp:TextBox>";
Textbox1.Text = "ali";
}
حالا تو html هم اینو نوشتم :
<%=s %>
اما حالا طبق کد سمت سرورم وقتی می خوام textbox ی که درست شده را فراخوانی کنم می گه نمی شناسمش . آیا راهی است که ما کد htmlی سمت سرور تولید کنیم که مثلا چند تا textbox برامون می زاره که جنس textbox ها هم asp است و بعد کاربر آنها را پر کنه و بعد ما آنها را در سمت سرور در بانک ثبت کنیم ؟

aminghaderi
یک شنبه 07 شهریور 1389, 14:21 عصر
سلام من در سمت سرور این کد را نوشتم
public string s;
protected void Page_Load(object sender, EventArgs e)
{
s = " <asp:TextBox ID='TextBox1' runat='server'></asp:TextBox>";
Textbox1.Text = "ali";
}
حالا تو html هم اینو نوشتم :
<%=s %>
اما حالا طبق کد سمت سرورم وقتی می خوام textbox ی که درست شده را فراخوانی کنم می گه نمی شناسمش . آیا راهی است که ما کد htmlی سمت سرور تولید کنیم که مثلا چند تا textbox برامون می زاره که جنس textbox ها هم asp است و بعد کاربر آنها را پر کنه و بعد ما آنها را در سمت سرور در بانک ثبت کنیم ؟
ای ای ای ظاهرا موضوع رو درست متوجه نشدین؟!
کنترل های دات نت که به این صورت نوشته می شوند :

<asp:TextBox ID='TextBox1' runat='server'></asp:TextBox>یه حفظ حالته برای تشخیص کد های دات نت نسبت به کد ها دیگه (Html ,CSS,JavaScript,...)
که این کدی که می بیندید باید بره سمت سرور و بعد مراحل سیر و سلوک (اعتبار سنجی ، مقدار دهی(مثل Druop&DropList) ، کد گزاری و...) رو انجام بده و بر گرده سمت کلاینت تا کلاینت ازش استفاده کنه؟!
این کاری که شما الان داری انجام می دی یعنی:
زمانی که المنت های Asp ترجمه شدند و نوبت به قرار گیری مقادیر داخل انها می شه ، مقدار متغییر s رو داخل صفحه قرار می گیره (بین کد ها و المت های ترجمه شده ، چون از دید دات نت s فقط یه رشته هست؟!) و بعد سمت کلاینت شما همان کد رو می بینید که بدون ترجمه اونجا قرار گرفته؟! که مرور گر شما هم طبیعتا کد رو نمی شناسد ، یعنی براش قابل درک نیست.
شما فقط از سمت سرور می تونید المنت Html به صفحتون اظافه کنید.
موفق باشید.

salehbagheri
یک شنبه 07 شهریور 1389, 20:32 عصر
با استفاده کلاس HtmlGenericControl میتونید کدهای HTML رو از سمت سرور وارد صفحه مورد نظر بکنید.

مثلاً قصد ایجاد یک TextBox دارید کافیه بنویسید:


HtmlGenericControl TxtInput = new HtmlGenericControl("input");
TxtInput.Attributes.Add("ID", "SetID");
TxtInput.Attributes.Add("type", "text");
TxtInput.Attributes.Add("value", "ali");
PlaceHolder.Controls.Add(TxtInput);


یا اینکه از خود دانت نت استفاده کنید:


TextBox TxtInput = new TextBox();
TxtInput.Text = "Ali";
PlaceHolder.Controls.Add(TxtInput);

m2148059
دوشنبه 08 شهریور 1389, 11:56 صبح
ممنون از آقای صالح باقری و امین قادری خیلی کمکم کردید فهمیدم از آقای قادری که کاری که می خواستم بکنم نمی شه و از آقای باقری که راه حل کردن یک همچین کاری چی هست . واقعا ممنونم :خجالت: