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

نام تاپیک: تولید کنترل داینامیک بر اساس جدول دیتابیس

  1. #1

    Lightbulb تولید کنترل داینامیک بر اساس جدول دیتابیس

    با سلام


    من یک جدول محصولات دارم و یک جدول خصوصیات محصول که به صورت داینامیک کاربر n تا خصوصیت برای یک محصول ایجاد می کنه ( رنگ ، اندازه ، ظرفیت و ... ) حالا بعد از تعریف این خصوصیات من می خوام کاربر بتونه این فیلد هایی که تعریف کرده رو مقدار دهی کنه و کنترل مناسبی جلو هر خصوصیت تولید بشه ( ۳ مدل هست string , bool , select ) که این مورد رو هم با یک فیلد کنترل می کنم . من الان به شدت در اینکه چطور باید این view رو تولید کنم که بر اساس رکورد دیتابیس باشه و کاربر بتونه مقدار مناسب رو بده مشکل دارم و نمی دونم دقیق باید چیکار کنم . ممنون می شم راهنمایی کنید

    با تشکر

  2. #2
    کاربر دائمی آواتار parvizwpf
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    TEH
    پست
    2,919

    نقل قول: تولید کنترل داینامیک بر اساس جدول دیتابیس

    ببینید این کمک میکنه؟ :
    https://stackoverflow.com/questions/...se-using-mvc-4

  3. #3

    نقل قول: تولید کنترل داینامیک بر اساس جدول دیتابیس

    سلام

    نه متاسفانه . من بیشتر گیج شدم

  4. #4

    نقل قول: تولید کنترل داینامیک بر اساس جدول دیتابیس

    سلام

    دوستان کسی نمی تونه یک راهنمایی کاربری به من بکنه که من بتونم یک صفحه کنترلش هاش رو از روی دیتابیس تولید کنم ؟

    ممنون

  5. #5

    نقل قول: تولید کنترل داینامیک بر اساس جدول دیتابیس

    مقدار هارو داخل دیتابیس ذخیره کنید ; بر اساس این پاسخ از دیتابیس مقادیر رو دریافت و کنترل هارو ایجاد کنید : https://stackoverflow.com/a/26629885/6661314

  6. #6

    نقل قول: تولید کنترل داینامیک بر اساس جدول دیتابیس

    نقل قول نوشته شده توسط Moien Tajik مشاهده تاپیک
    مقدار هارو داخل دیتابیس ذخیره کنید ; بر اساس این پاسخ از دیتابیس مقادیر رو دریافت و کنترل هارو ایجاد کنید : https://stackoverflow.com/a/26629885/6661314
    ممنون .

    من جداول رو انجام دادم . الان مشکل نمایش کنترل های داینامیک هست

    توی این لینکی که دادید یک جا این رو نوشته

    In controller modify the GetControl method as

    متوجه نمی شم این رو باید کجا و چطور انجام بدم

    و اینکه در نهایت در view مقدار ها داده شد چطور از روی viewmodel مقادیر رو داخل دیتابیس پر کنم

    ممنون می شم یک راهنمایی عمیق تر بکنید

  7. #7

    نقل قول: تولید کنترل داینامیک بر اساس جدول دیتابیس

    این یک مثال برای شروع ; میتونید خودتون Customize کنیدش و Control های بیشتری بهش اضافه کنید.
    فایل های ضمیمه فایل های ضمیمه

  8. #8

    نقل قول: تولید کنترل داینامیک بر اساس جدول دیتابیس

    نقل قول نوشته شده توسط Moien Tajik مشاهده تاپیک
    این یک مثال برای شروع ; میتونید خودتون Customize کنیدش و Control های بیشتری بهش اضافه کنید.
    سلام مدیر عزیز

    ممنون که با این مثال من رو کامل متوجه کردید . این یک مشکل رو هم بگید من چطور حل کنم ممنون می شم

    الان من طبق روند شما جلو رفتم و همه چی اوکی هست ولی من می خوام این فیلد ها که پر شد رو به یک Action نوع post بفرستم که بتونم داخل دیتابیس ذخیره کنم . اومدم view رو به این شکل تغییر دادم :

    @model DynamicControls.ViewModels.HomeViewModel

    @{
    ViewBag.Title = "Dynamic Controls";
    }

    <h2>@ViewBag.Title</h2><hr />

    @using (Html.BeginForm("Index", "Home", FormMethod.Post, new {enctype = "multipart/form-data"}))
    {

    <h3>Contents of this page has been generated dynamically : </h3>

    @Html.EditorFor(m => m.ControlList, "CustomControl")

    <button type="submit" class="btn btn-primary">ارسال</button>
    }



    و یک اکشن هم به شکل زیر برای تست زدم :

    [HttpPost]
    public ActionResult Index(HomeViewModel home)
    {
    return Content("ok");
    }

    و یک برک پوینت گذاشتم اما مقداری که به ویو مدل ارسال می شه null هست . نمی دونم باید چکار کنم که بتونم مقادیر رو ارسال کنم به یک اکشن که بشه ذخیرشون کرد چون بون ذخیره کردن کار جلو نمی ره

    ممنون بابت وقتتون

    تشکر

  9. #9

    نقل قول: تولید کنترل داینامیک بر اساس جدول دیتابیس

    چون HomeViewModel داخلش لیستی از ControlInfo هارو دریافت میکنه در اکشن null دریافت میکنید.
    برای دریافت اطلاعات صحیح به این شکل باید عمل کنید ، یعنی بطور صریح name فیلدهارو بعنوان ورودی اکشن دریافت کنید :



    [HttpPost]
    public ActionResult Index(string firstName, bool isAdmin)
    {
    return Content("Ok");
    }

  10. #10

    نقل قول: تولید کنترل داینامیک بر اساس جدول دیتابیس

    نقل قول نوشته شده توسط Moien Tajik مشاهده تاپیک
    چون HomeViewModel داخلش لیستی از ControlInfo هارو دریافت میکنه در اکشن null دریافت میکنید.
    برای دریافت اطلاعات صحیح به این شکل باید عمل کنید ، یعنی بطور صریح name فیلدهارو بعنوان ورودی اکشن دریافت کنید :



    [HttpPost]
    public ActionResult Index(string firstName, bool isAdmin)
    {
    return Content("Ok");
    }

    سلام

    ممنون از پاسختون

    ولی متاسفانه نمی شه . من الان داخل فرمم شاید ۱۰ تا کنترلر درست بشه که کاربر پر می کنه ولی خوب اگر اسم فیلد رو بزاریم یک پارامتر رو شامل می شه . یک لیستی از اون مدل رو هم به عنوان ورودی گذاشتم باز Null می آد

    ممنون می شم راهنمایی کنید

    با تشکر

  11. #11

    نقل قول: تولید کنترل داینامیک بر اساس جدول دیتابیس

    برای همچین کاری مجبور هستید که ControlName همه ی Control هارو یکسان بزارید ، بعنوان مثال به این شکل :

    _controls = new List<ControlInfo>
    {
    new ControlInfo
    {
    ControlType = "TextBox",
    ControlName = "items",
    ControlID = "firstname",
    ControlLabel = "Name",
    ControlValue = "Moien"
    },
    new ControlInfo
    {
    ControlType = "Checkbox",
    ControlName = "items",
    ControlID = "isAdmin",
    ControlLabel = "Admin",
    ControlValue = "Admin ?",
    IsChecked = false
    }
    };


    در این صورت باید در اکشن POST ، آرایه ای از items رو دریافت کنید :

    [HttpPost]
    public ActionResult Index(string[] items)
    {
    return Content("Ok");
    }


    با این روش بصورت Dynamic اطلاعات رو دریافت میکنید ، اما برای تشخیص اینکه نوع کنترلی که Value از سمتش میاد چی هست ، میتونید به ابتدای value ها ، type کنترل رو اضافه کنید.
    مثال :
    کد HTML:
    <input type="text" name="@controlInfo.ControlName" id="@controlInfo.ControlID" value="input::@controlInfo.ControlValue" class="form-control" />
    و به این شکل Type کنترل رو هم دریافت میکنید و داخل دیتابیس ذخیره میکنید و بعدا موقع Retreive کردن از دیتابیس ، بر اساس type که قبل از :: گذاشتید با Switch کردنش ، کنترل مربوط رو Render میکنید.

تاپیک های مشابه

  1. سوال: ایجاد کنترل در فرم بر اساس یک دیتابیس و رویداد های آنها
    نوشته شده توسط perpetual در بخش C#‎‎
    پاسخ: 0
    آخرین پست: شنبه 07 بهمن 1391, 06:13 صبح
  2. سوال: Clip کردن کنترل داخلی بر اساس کنترل خارجی
    نوشته شده توسط PetekDincos در بخش WPF
    پاسخ: 2
    آخرین پست: یک شنبه 29 خرداد 1390, 19:48 عصر
  3. سوال: تولید اعداد تصادفی بر اساس هفته
    نوشته شده توسط r_khan در بخش C#‎‎
    پاسخ: 9
    آخرین پست: یک شنبه 20 تیر 1389, 11:35 صبح
  4. query گیری از یک جدول بر اساس جدول دیگر
    نوشته شده توسط csharp2008 در بخش SQL Server
    پاسخ: 5
    آخرین پست: پنج شنبه 19 آذر 1388, 15:36 عصر
  5. true ,false کردن چک باکس بر اساس فیلد دیتابیس
    نوشته شده توسط jeniferxp در بخش C#‎‎
    پاسخ: 1
    آخرین پست: جمعه 05 بهمن 1386, 09:47 صبح

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

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