PDA

View Full Version : انتخاب مستر پیج در زمان اجرای برنامه



mohitlog
پنج شنبه 07 بهمن 1389, 19:07 عصر
سلام
من سه فایل مستر پیج دارم که یک فایل اصلی است دو فایل دیگر درون فایل مستر پیج اصلی باید نمایش داده شوند.

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

حالا کسی میگه من چجوری دو فایل مستر پیج را نمایش بدم؟
کدمو باید در لود مستر پیج اصلی بنویسم؟

خانم گل
پنج شنبه 07 بهمن 1389, 19:24 عصر
برای انتخاب مسترپیج در زمان اجرا نمیتونید از form_load استفاده کنید باید توی preinit فرمتون کدتون رو بنویسید

private void Page_PreInit(object sender, EventArgs e)
{
if (...)
{
this.MasterPageFile = "MasterPage1.master";

}
else
{
this.MasterPageFile = "MasterPage2.master";

}
}

mohitlog
پنج شنبه 07 بهمن 1389, 20:09 عصر
ببین من یک فایل مستر پیج اصلی دارم بشکل زیر


<%@ Master Language="C#" AutoEventWireup="true" CodeFile="main.master.cs" Inherits="main" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

</div>
my name is ali
<br />
<div>
<asp:ContentPlaceHolder id="main2" runat="server">

<p>
&nbsp;</p>

</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>





دو فایل مستر پیج فرعی دارم به شکل زیر
مستر فرعی اول:

<%@ Page Language="C#" MasterPageFile="~/1.master" AutoEventWireup="true" CodeFile="1.aspx.cs" Inherits="_1" Title="Untitled Page" %>

<%-- Add content controls here --%>



مستر فرعی دوم

<%@ Page Language="C#" MasterPageFile="~/2.master" AutoEventWireup="true" CodeFile="2.aspx.cs" Inherits="_2" Title="Untitled Page" %>

<%-- Add content controls here --%>



حالا یک صفحه وب فرم دارم

<%@ Page Language="C#" MasterPageFile="~/main.master" AutoEventWireup="true" CodeFile="main.aspx.cs" Inherits="main" Title="Untitled Page" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="main2" Runat="Server">
</asp:Content>


من میخام وقتی کاربر تو تکست باکس مثلا یک رو وارد کرد مستر پیج اولی توی قسمت صورتی رنگ شده نمایش داده بشه و اگر کاربر 2 را وارد کرد مستر پیج دومی تو قسمت رنگی نمایش داده بشه

با تشکر

خانم گل
پنج شنبه 07 بهمن 1389, 21:04 عصر
من میخام وقتی کاربر تو تکست باکس مثلا یک رو وارد کرد مستر پیج اولی توی قسمت صورتی رنگ شده نمایش داده بشه و اگر کاربر 2 را وارد کرد مستر پیج دومی تو قسمت رنگی نمایش داده بشه

منظورتون رو خوب متوجه نشدم. مگه نمیخوای مستر صفحت عوض بشه؟ واسه اینکار میتونی مقدار تکست باکستو توی session ذخیره کنی و صفحتو دوباره لود کنی. از کدی هم که قبلا واست نوشتم واسه خوندن مقدار session و تغییر مستر صفحت میتونی استفاده کنی.

Javad.Kashi
پنج شنبه 07 بهمن 1389, 23:23 عصر
سلام دوست عزیز

می تونی به من بگی که چرا از MultiView استفاده نمی کنی ؟؟؟:متعجب: