مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

for_advent

عضویت از 1396/01/19

دریافت مقادیر از view به action به صورت داینامیک

  • جمعه 15 تیر 1397
  • 09:46
تشکر میکنم

سلام، من یک view ساختم که در آن فیلدهای ورودی به صورت داینامیک و با نام های متفاوت ساخته می شوند، حالا نمی دونم چطور مقادیرشون رو در action دریافت کنم.

پاسخ های این پرسش

تعداد پاسخ ها : 4 پاسخ
کاربر سایت

psfco

عضویت از 1394/12/26

  • جمعه 15 تیر 1397
  • 11:21

منظور شما از فیلدها بصورت داینامیک ایجاد میشوند چیست؟ لطفا نمونه کد خود را بگذارید

کاربر سایت

for_advent

عضویت از 1396/01/19

  • جمعه 15 تیر 1397
  • 11:49

@using (Html.BeginForm("Insert", "Default", FormMethod.Post))
{
    <table class="bg-info text-light" align="center" cellpadding="10" cellspacing="10" style="width:600px; border-radius:10px;">
        @{
            foreach (var item in db.Interface.Where(a => a.TabName == CMS.Functions.Table).OrderBy(a => a.OrderBy).ToList())
            {
                if (item.InputType == "مخفی" || item.DataType == "نمایشی") { }
                else if (item.InputType == "عددی")
                {
                    <tr>
                        <td class="BZar" style="width:25%; text-align:center; font-size:larger;">
                            @item.ColName.Replace("_", " ")
                        </td>
                        <td class="k-rtl BYekan" style="width:75%; text-align:center; font-size:medium;">
                            @(Html.Kendo().NumericTextBox().Name(item.ColName).HtmlAttributes(new { style = "width:100%;", required = "required", validationmessage = "Enter {0}" }))
                        </td>
                    </tr>
                }
                else if (item.InputType == "راست به چپ" || item.InputType == "چپ به راست" || item.InputType == "تکمیل خودکار" || item.InputType == "")
                {
                    <tr>
                        <td class="BZar" style="width:25%; text-align:center; font-size:larger;">
                            @item.ColName.Replace("_", " ")
                        </td>
                        <td class="k-rtl BYekan" style="width:75%; text-align:center; font-size:medium;">
                            @{
                                if (!string.IsNullOrWhiteSpace(item.Relation))
                                {
                                    var column_name = db.Interface.Single(a => a.TabName == item.Relation && a.IsDefault == true).ColName;
                                    var datatable = CMS.Models.Database.DoQuery(" SELECT " + column_name + " FROM " + item.Relation);
                                    var datasource = datatable.Rows.OfType<DataRow>().Select(dr => dr.Field<string>(column_name)).ToArray();
                                    @(Html.Kendo().AutoComplete().Name(item.ColName).Filter("startswith").BindTo(datasource).Separator("")
                .HtmlAttributes(new { style = "width:100%;", required = "required", validationmessage = "Enter {0}" }))
                                }
                                else
                                {
                                    @(Html.Kendo().TextBox().Name(item.ColName).HtmlAttributes(new { style = "width:100%; height:38px;", required = "required", validationmessage = "Enter {0}" }))
                                }
                            }
                        </td>
                    </tr>
                                }

}

کاربر سایت

for_advent

عضویت از 1396/01/19

  • جمعه 15 تیر 1397
  • 11:55

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 15 تیر 1397
  • 12:37

باید نامشون رو حتما داشته باشید و از نمونه زیر دریافت کنید

[HttpPost] 
public ActionResult SubmitAction(FormCollection collection)
{
     // Get Post Params Here
 string var1 = collection["var1"];
}

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)