PDA

View Full Version : tabcontrol در asp



hattarzadeh
دوشنبه 08 خرداد 1391, 14:15 عصر
با سلام خدمت دوستان
من می خوام یه چیزی شبیه به tabcontrol در winform رو در asp ایجاد کنم هر چی گشتم تو خود asp چیزی پیدا نکردم چطوری می تونم یه چنین چیزی درست کنم آیا خود asp چنین چیزی داره که بشه ازش استفاده کرد؟
ممنون از راهنمایهاتون

ahmad156
دوشنبه 08 خرداد 1391, 14:24 عصر
87576
البته پروژه یکی از دوستان هست که اسمشون رو نمیدونم

hattarzadeh
دوشنبه 08 خرداد 1391, 15:00 عصر
سلام دوست عزیز
ممنون از راهنماییتون
یه سوال چه طوری میشه از توی کد ایجاد tab کرد.
من یه برنامه دارم که یه منو داره و می خوام وقتی که کاربر روی هر کدوم از منوها کلیک کرد یه tab جدید براش باز بشه
ممنون ار کممکهاتون

ahmad156
دوشنبه 08 خرداد 1391, 15:10 عصر
دوست عزیز شما این کار یا با استفاده از JQuery انجام بشه که فکر کنم بتونین پلاگین اش رو پیدا کنین .اگر هم با #c یا vb باشه هم باید از کنترل های آماده مانند Telerik یا ... (اگر داشته باشن) استفاده کنین.

hattarzadeh
دوشنبه 08 خرداد 1391, 15:23 عصر
من کامپوننت telerik رو دارم و توی ورژنی از برنامه که با C#‎ نوشتمش با استفاده از telerikها مشکل رو حل کردم ولی الان توی asp با اینکه کامپوننت مخصوصش رو نصب کردم ولی از هر کدوم از کامپوننتاش که استفاده می کنم با خطا مواجه میشم.
87579
ببخشید هر کاری کردم نشد از ضمیمه استفاده کنم

ahmad156
دوشنبه 08 خرداد 1391, 18:26 عصر
دوست عزیز همون طوری که توی خطا کاملا واضحه شما باید ScriptManager رو به صفحه اضافه کنین

r0o0yaaa
سه شنبه 09 خرداد 1391, 12:41 عصر
اصلا نیازی به این کار ها نیست ، با کنترل های ajax به راحتی انجام میشه :


<ajax:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0">
<ajax:TabPanel runat="server" ID="List">

.
.
.
</ajax:TabPanel>
<ajax:TabPanel ID="tbpnluser" runat="server">
.
.
.
</ajax:TabPanel>
</ajax:TabContainer>
و سمت کد روی کلیک دکمه های منو :


TabContainer1.ActiveTab = TabContainer1.Tabs[1];

hattarzadeh
چهارشنبه 10 خرداد 1391, 10:04 صبح
با سلام به دوستان و تشکر از راهنمایهاشون
رویا خانم روش شما درسته ولی کاری که من می خوام رو ظاهرا درست متوجه نشدین من می خوام زمانی که کاربر بر روی منو کلیک کرد تازه یه tab ایجاد بشه. در ضمن من توی c# با تلریکها که این کار رو انجام دادم ابتدا فرم رو می ساختم و بعد به وسیله کدی که از توی دموی تلریکها پیدا کرده بودم بصورت midi به raddock اضافه می کردم حالا می خوام تو اینجا هم این کار رو بکنم برام تفاوتی هم نمی کنه که با چه روشی این کار رو انجام می دم (ajax or telerik )فقط می خوام به این شکلی که گفتم باشه.
ممنون

minaalamshahi
شنبه 14 مرداد 1391, 10:32 صبح
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Register Assembly="AjaxControlToolkit , Version=3.0.30512.20315, Culture=neutral , PublicKeyToken=28f01b0e84b6d53e"
Namespace="AjaxControlToolkit" TagPrefix="asp" %>
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="SC1" runat="server">
</asp:ScriptManager>
<div>
<asp:TreeView ID="TreeView1" runat="server"
onselectednodechanged="TreeView1_SelectedNodeChanged">
<Nodes>
<asp:TreeNode Text="Default2" Value="Default2.aspx"></asp:TreeNode>
<asp:TreeNode Text="Default3" Value="Default3.aspx"></asp:TreeNode>
<asp:TreeNode Text="Default4" Value="Default4.aspx"></asp:TreeNode>
</Nodes>
</asp:TreeView>
<asp:PlaceHolder ID="PC1" runat="server"></asp:PlaceHolder>


</div>
<asp:Label ID="lblMessage" runat="server" Text="Label"></asp:Label>
</form>
</body>
</html>





protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{

TabContainer tbcDynamic = new TabContainer();
Session["count"] = int.Parse(Session["count"].ToString()) + 1;
//List<string> ast = new List<string>();
//ast.Add("asdas!");
//Session["stringList"] = ast;
//List<string> bst = (List<string>)Session["stringList"];
List<string> tab = new List<string>();
if (Session["tab"]!=null)
tab = (List<string>)Session["tab"];
// List<string> ast = new List<string>();
tab.Add(TreeView1.SelectedNode.Value + "#" + "Tab" + (int.Parse(Session["count"].ToString())).ToString());
// tab.Add("Tab" + (int.Parse(Session["count"].ToString())).ToString());
Session["tab"] = tab;

for (int i = 0; i < tab.Count; i++)
{
TabPanel tbpnlProcessCategory = new TabPanel();
tbpnlProcessCategory.HeaderText = tab[i].Split('#')[0];
tbpnlProcessCategory.ID = tab[i].Split('#')[1];
//List myList = new List();
//Session["var"] = myList;
//myList = (List)Session["var"];
//Session["tab"] = Session["tab"]+ tab;
tbcDynamic.Tabs.Add(tbpnlProcessCategory);
Literal _Lit = new Literal();
_Lit.Text = " <iframe src='" + tab[i].Split('#')[0] + "'></iframe>";
tbcDynamic.Tabs[i].Controls.Add(_Lit);
}
PC1.Controls.Add(tbcDynamic);
//tbcDynamic.Tabs.AddAt(int.Parse(Session["count"].ToString()) - 1, tbpnlProcessCategory);
//Literal _Lit = new Literal();
//_Lit.Text = " <iframe src='" + TreeView1.SelectedNode.Value + "'></iframe>";
// tbcDynamic.Tabs[int.Parse(Session["count"].ToString())].Controls.Add(_Lit);
//PC1.Controls.Add(tbcDynamic);
}