ورود

View Full Version : نحوه ایجاد فرمهای Modal در ASP.NET 2.0



habedijoo
شنبه 30 اردیبهشت 1385, 06:45 صبح
با سلام به همگی .
من می خواهم در ASP.NET 2.0 با کلیک بر روی یک دکمه یک فرم بصورت Modal باز شود و چند پارامتر را هم به آن ارسال کنم .

با تشکر از همگی .

habedijoo
شنبه 06 خرداد 1385, 15:09 عصر
کسی تا حالا فرم مودال نساخته که بهش یه پارامتر متغییر بفرسته .

nazaninam
چهارشنبه 10 خرداد 1385, 09:22 صبح
منظورتون از فرم مودال چیه؟

Mohammad_Mnt
چهارشنبه 10 خرداد 1385, 09:32 صبح
فرم مودال فرمی است که تا زمانی که بسته نشود شما نمی توانید به فرم های دیگر برنامه دسترسی داشته باشید و بیشترین مورد استفاده را در نشان دادن یک پیام دارد .

PrinceDotNet
چهارشنبه 10 خرداد 1385, 12:35 عصر
این یک نمونه ی بسیار خوبیه که ComunityServer هم از این استفاده کرده.

fahime.silverstar
دوشنبه 01 خرداد 1391, 11:48 صبح
با سلام
دوست عزیز
به زبان خودمونی می گم.

به عنوان مثال ، شما دو یوزرکنترل دارید به نام های searchPerson و addnewPerson
که می خواهید با کلیک بر روی قسمتی از searchPerson، اطلاعات addnewPerson به صورت یک فرم نمایش داده شود

ابتدا یک یوزر کنترل می سازید به نام Modal1
کد های زیر را در آن قرار می دهید

<%@ Control Language="C#‎‎" AutoEventWireup="true" CodeFile="Modal1.ascx.cs" Inherits="UserControls_Modal1" %>

<script type="text/javascript">
$(function () {

$('.add-user-title').live('click', function () {
$('#adduser').show();
});
});

</script>

<div id="modalcontent" class="modalcontent">
<asp:PlaceHolder ID="phModalContent" runat="server"></asp:PlaceHolder>
</div>

همانطور که میبینید یک placeholder گذاشتیم که در کد های همین صفحه آدرس یوزر کنترل addnewPerson را برای لود در صفحه بدهیم. و با کدهای جاوا می گیم اگر روی کلاس add-user-title از searchPerson کلیلک شد اطلاعات موجود در کلاس adduser در یوزر کنترل addnewPerson نمایش داده شود.

در codeBehind کدهای زیر را اضافه کنید

public string ControlURL { get; set; }

protected void Page_Load(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(ControlURL))
{
Control c = LoadControl(ControlURL);

phModalContent.Controls.Add(c);
}
}


حالا در یوزر کنترل searchPerson کدهای زیر را قرار می دهید
<%@ Control Language="C#‎‎" AutoEventWireup="true" CodeFile="searchPerson.ascx.cs"
Inherits="UserControls_searchPerson" %>

<div class="add-user-title">
ثبت شخص جدید
</div>

<uc1:Modal ID="ucAddNew" dialogId="ucAddNew" ControlURL="~/UserControls/addnewPerson.ascx"
runat="server" />


که مودال در این صفحه فراخوانی شده و آدرس addnewPerson را به پارامتر ControlURL که در مودال تعریف کردیم می فرستد و همان جا آدرس مربوطه به عنوان یه کنترل به PlaceHolder اضافه خواهد شد.





امیدوارم مفید بوده باشه

مهدی کرامتی
دوشنبه 01 خرداد 1391, 13:38 عصر
کافی است یک Panel به صفحه اضافه کنید و کنترل های مورد نظر رو درون آن اضافه کنید. سپس خاصیت Visible پنل رو False کنید. Panel ها پس Render شدن صفحه و ارسال شدنش برای Browser تبدیل به یک div می شوند. سپس توسط کتابخانه BlockUI (http://jquery.malsup.com/block/) می توانید div فوق را با استفاده از ID اش به صورت Modal (http://jquery.malsup.com/block/#dialog) نمایش دهید.