PDA

View Full Version : تنظیم موقعیت ContentPlaceHolder در masterpage



maryam_80
چهارشنبه 19 اردیبهشت 1386, 22:28 عصر
با سلام

من از tableدر masterpage برای طراحی استفاده کرده ام تا بتوانم کنترل های مورد نظرم را در مکانهای خاصی از صفحه قرار دهم.
من ContentPlaceHolder را در داخل یکی از ستونهای جدول قرار داده ام ولی به طور اتوماتیک align ان در وسط ستون هست.چه طور میتوان آن را به نحوی تتظیم کرد که align آن در top باشد



<%@MasterLanguage="C#"AutoEventWireup="true"CodeFile="MasterPage.master.cs"Inherits="MasterPage" %>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<linkhref="CSS/MasterStyle.css"rel="stylesheet"type="text/css"/>
<title>Untitled Page</title>
</head>
<body>

<formid="form1"runat="server">
<div>
<tablestyle="height: 120px"width="100%">
<tr>
<tdid="TR1TD1"colspan="3"class="TR1TD1"style="height: 64px; width: 862px;">
&nbsp;

</td>
<tdcolspan="1"rowspan="2"id="TR1TD2"class="TR1TD2"style="width: 262px">
<asp:LabelID="UserID"runat="server"Text="User Name:"></asp:Label>
<asp:TextBoxID="Txt_UserName"runat="server"Width="87px"></asp:TextBox>
<br/>
<asp:LabelID="UserPass"runat="server"Text="Password:"></asp:Label>&nbsp;&nbsp;<asp:TextBoxID="Txt_UserPass"runat="server"Width="86px"></asp:TextBox>
</td>

</tr>
<tr>
<tdid="TR2TD1"colspan="3"style="height: 1px; width: 862px;"class="TR2TD1">
&nbsp;</td>
</tr>
<tr>
<tdclass="TR3TD1"colspan="4"id="TR3TD1">
</td>
</tr>
</table>
</div>
<tablestyle="height: 100%"width="100%">
<tr>
<tdid="TR4TD1"class="TR4TD1"style="height: 364px">
<asp:MenuID="Menu1"runat="server"Width="89px"style="color: white; left: 30px; position: relative; top: -175px;"Height="142px"ForeColor="White"Font-Names="Tahoma">
<Items>
<asp:MenuItemNavigateUrl="~/Register.aspx"Text="Register"Value="Register"></asp:MenuItem>
</Items>

</asp:Menu>
&nbsp;
</td>
<tdid="TR4TD2"style="width: 554px; height: 364px"class="TR4TD2">
<asp:contentplaceholderid="ContentPlaceHolder1"runat="server">
&nbsp;</asp:contentplaceholder>
</td>
</tr>
</table>
</form>
</body>
</html>


و آیا کنترل دیگری هم وجود دارد که بتوان توسط آن Masterpage را به قسمت های مختلفی تقسیم کرد و در هر قسمت یک کنترل خاص مثل Menu,sitemap,... قرار داد

تشکر

maryam_80
پنج شنبه 20 اردیبهشت 1386, 00:36 صبح
مشکل من با استفاده از "valign="top برطرف شد.


آیا کنترل دیگری به غیر از Table هم وجود دارد که بتوان توسط آن Masterpage را به قسمت های مختلفی تقسیم کرد و در هر قسمت یک کنترل خاص مثل Menu,sitemap,... قرار داد



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

hamid58
پنج شنبه 20 اردیبهشت 1386, 01:22 صبح
میشه از کنترل Panel استفاده کنید ! اما یادتون باشه که همیشه صفحات رو یا با Table میسازن یا با DIV . شما هم از هر کنترلی استفاده می کنید به هر حال تبدیل میشن به تگهای html ، مثلا همین Panel به Div تبدیل میشه و یا مثلا Grid view به Table !!! به هر حال همیشه سعی کنید صفحات رو توی یه برنامه حرفه ای مثل Dreamweaver طراحی کنید و بعدش بیارید تو Visual Studio براش کد بنویسید و یا فرم هارو ایجاد کنید . چون استفاده ار کنترل هایی مثل Panel برای تقسیم بندی قسمتهای صفحه باعث ایجاد تگهای اضافه و سنگین شدن صفحه خواهد شد . طراحی Template صفحات در Visual Studio اصلا کار حرفه ای نیست ...

maryam_80
پنج شنبه 20 اردیبهشت 1386, 01:53 صبح
من یک سری template ازسایت زیر download کرده ام که خروجی آن یک فایل htmlهست
www.mastertemplates.com (http://www.mastertemplates.com)
من فقط از css های آن استفاده کردم چون نحوه استفاده آن را در vs.net و Dreamweaver با شرمندگی تمام بلد نبودم
آیا برای استفاده از این template ها باید آن ها را تغییر خاصی بدهم

hamid58
پنج شنبه 20 اردیبهشت 1386, 02:23 صبح
Template های آماده معمولا چیدمانی دارند که با نیازهای ما سازگار نیستند . اما برای استفاده اونها در Visual Studio :
یک صفحه جدید (Web form) به پروژه اضافه کنید . به داخل سورس صفحه برید و ببینید چه چیزهایی بیشتر از یک صفحه HTML ساده وجود داره ؟ چیزهایی مثل یک دایرکتیو Page در خط اول ... وجود یک تگ فرم در داخل body و ...
دقیقا همین چیزها رو در کد Html تمپلت هایی که دانلود کردید در جای خودشون قرار بدید و بعد ...

اگه متوجه نشدید بگید تا بیشتر توضیح بدم ...

maryam_80
پنج شنبه 20 اردیبهشت 1386, 07:35 صبح
با کمی تغییر توانستم از template درون vs.net استفاده کنم

از راهنمایی شما متشکرم