نمایش نتایج 1 تا 3 از 3

نام تاپیک: javascript و کار با مالتی یو (MultiVeiw)

  1. #1
    کاربر دائمی آواتار majid_darab
    تاریخ عضویت
    مهر 1384
    محل زندگی
    در اعماق اقیانوس.
    سن
    40
    پست
    352

    Cool javascript و کار با مالتی یو (MultiVeiw)

    با سلام و عرض خسته نباشید :
    من در قسمت جاوااسکریپت فرمی که دارای مالتی ویو می باشد می خواهم ویوی فعال مالتی ویو رو چک کنم و پس از آن با کنترل های موجود در آن ویو کار کنم.
    اما نمی دونم چرا در نت هیچ اطّلاعاتی در رابطه با مالتی ویو و جاوااسکریپت یا مالتی ویو و Jquery پیدا نکردم.
    مشکل از این قراراست که ظاهراً اصلاً مالتی ویو با کد جاوااسکریپت شناسایی نمی گردد.
    به کد زیر توجه نمایید :

    <%@ Page Language="C#‎" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Keyup._Default" %>

    <!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></title>

    <%-- <script src="JQuery/jquery-1.4.1.js" type="text/javascript"></script>--%>
    <script type="text/javascript">

    document.onkeyup = onkeyupOfDocument;

    function onkeyupOfDocument(evt) {
    var evt = evt || window.event;
    //alert(evt.keyCode);
    //var MultiView = $("*[id$='TextBox1']");
    var MultiView = document.getElementById("MultiView1");
    alert(MultiView);
    }
    </script>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
    <asp:View ID="View1" runat="server">
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </asp:View>
    <asp:View ID="View2" runat="server">
    </asp:View>
    </asp:MultiView>
    </div>
    </form>
    </body>
    </html>


    در این کد آلرت مربوطه همواره مقدار null را نشان می دهد.
    وقتی برای شناسایی مالتی ویو از کد کامنت شده ی jquery استفاده می کنم آلرت مربوطه null نیست - اما باز هم مشکل دارد.

    اگر مقدور است مرقوم فرمایید که برای شناسایی ActiveViewIndex مربوط به مالتی ویو (از دوطریق جاوااسکریپت و Jquery) چگونه باید اقدام نمایم که به مشکل برنخورم؟

    آنچه که در نت به مراتب توضیح داده شده اینه که تعویض ویوی مالتی ویو به دلیل رندر نشدن ویوهای غیر ویوی حاضر مقدور نمی باشد و برای این کار باید از Div استفاده نمود.
    لذا من فقط دنبال چک کردن ویوی فعال هستم تا چنانچه ویوی مورد نظرم فعال بود یک سری کار انجام دهم، نه تعویض ویو.

    با تشکر از حسن توجه شما
    مجید داراب
    آخرین ویرایش به وسیله majid_darab : چهارشنبه 30 تیر 1389 در 18:47 عصر

  2. #2

    نقل قول: javascript و کار با مالتی یو (MultiVeiw)

    سلام.
    از اونجاییکه کنترل مزبور View های غیر فعال رو Render نمیکنه، شما نمی تونید سمت Client تغییر View فعلی به View ی دیگه ای رو انجام بدید. در حقیقت فقط یک View برای Client رندر خواهد شد که اونهم View ی Active هستش. برای تغییر در View مورد نظر حتما باید درخواستی به سمت سرور ارسال کنید تا از سمت سرور View مورد نظر شما Render بشه.

    موفق باشید.

  3. #3
    کاربر دائمی آواتار majid_darab
    تاریخ عضویت
    مهر 1384
    محل زندگی
    در اعماق اقیانوس.
    سن
    40
    پست
    352

    Smile نقل قول: javascript و کار با مالتی یو (MultiVeiw)

    با تشکر از زحمات آقای موسوی :
    من پس از مشورت با یکی از دوستان که تصادفاً با حرکات موزون مشت ناآشنا نیستند برآن شدم که در تمام جاهایی که view مالتی ویو را در کدبیهایند عوض می کنیم یه Hidden Field استفاده کنم و مقدار اونو در سمت client بررسی کنم.
    اینگونه به گونه ای trick مانند کار بررسی ActiveViweIndex راه افتاد ...
    اما موضوعی که می خوام در اینجا عنوان کنم اینه که ظاهراً با مالتی ویو سمت کلاینت نمی شه کار کرد و این موضوع رو به این دلیل می گم که وقتی پس از باز کردن پیج در بروزر سراغ سورس می ریم می بینیم که مالتی ویو و ویوها تبدیل به هیچ تگ html ی نشده اند و انگار که مالتی ویوای اصلاً وجود نداشته است و خوب بیخود نبود که کدهای سمت کلاینت از پیدا کردن آن عاجز بودند، حالا دیگر چه برسد به تعویض ویوی مالتی ویو.

    لذا تنها راه پیاده سازی مالتی ویو div و امسال آن می باشد تا سمت کلاینت بتوانیم با آن کار کنیم.


    درود و دو صد بدرود
    اعیاد شعبانیه بر تمامی دوستان مبارک باد
    مجید داراب

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •