PDA

View Full Version : سوال: چگونگی جمع آوری مقادیر فیلدها از یک فرم و ارسال به کنترلر در قالب json



alone.m2a
چهارشنبه 25 فروردین 1395, 04:01 صبح
با سلام
من دارم یک فرم ساز داینامیک مینویسم و یه مشکلی دارم
وقتی فرم نمایش داده شد فیلدها و مقادیر بصورت json به کنترلر فرستاده و ذخیره میشن. حالا چطور باید مقادیر رو جمع کنم در قالب یه رشته؟؟
اگه کسی پروژه یا منبعی داره معرفی کنه
ممنون

@model ّFormGen.FormVM@using FormGen
@{
ViewBag.Title = Model.Title;
Layout = "~/Views/Shared/_Layout.cshtml";
}


<h2>@Model.Title</h2>
<h3>@Model.Description</h3>


<hr />
@using (Html.BeginForm("Forms", "Form", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(i => i.FormRecords.UserID)
<div class="form-horizontal">
@foreach (var item in Model.FormFieldTypes)
{
JsonPropertyCompiler j = new JsonPropertyCompiler(item.TypeData);


switch ((FormFieldsType)item.Type)
{
case FormFieldsType.Int:
<div class="form-group">


<div class="col-md-9" dir="rtl">
<input class="form-control fc" type="number" />
</div>
<div class="col-md-3" dir="rtl">
<div>@item.Title</div>
</div>
</div>
break;


case FormFieldsType.Number:
<div class="form-group">


<div class="col-md-9" dir="rtl">
<input class="form-control fc" type="text" />
</div>
<div class="col-md-3" dir="rtl">
<div>@item.Title</div>
</div>
</div>
break;


case FormFieldsType.FarsiDate:
<div class="form-group">


<div class="col-md-9" dir="rtl">
<input class="form-control fc" type="datetime" />
</div>
<div class="col-md-3" dir="rtl">
<div>@item.Title</div>
</div>
</div>
break;


case FormFieldsType.EnglishDate:
<div class="form-group">


<div class="col-md-9" dir="rtl">
<input class="form-control fc" type="datetime" />
</div>
<div class="col-md-3" dir="rtl">
<div>@item.Title</div>
</div>
</div>
break;


case FormFieldsType.File:
<div class="form-group">
<div class="col-md-9" dir="rtl">
<div class="form-inline">
<input class="form-control fc" type="file" />
<input type="button" name="آپلود" value="آپلود" class="btn btn-default" />
</div>


</div>
<div class="col-md-3" dir="rtl">
<div>@item.Title</div>
</div>
</div>
break;


case FormFieldsType.Image:
<div class="form-group">


<div class="col-md-9" dir="rtl">
<div class="form-inline">
<input class="form-control fc" type="file" />
<input type="button" name="آپلود" value="آپلود" class="btn btn-default" />
<img src="#" class="img-thumbnail" alt="عکس" style="width:34px;height:34px" />
</div>
</div>
<div class="col-md-3" dir="rtl">
<div>@item.Title</div>
</div>
</div>
break;


case FormFieldsType.List:
<div class="form-group">


<div class="col-md-9" dir="rtl">
<select>
@{
using (SiteModel db = new SiteModel())
{
int ListID = Convert.ToInt32(j.GetValue("ListID", 0));
var q = db.FormListItems.Where((items) => items.ListID == ListID);
foreach (var listitem in q)
{
<option value="@listitem.ID">@listitem.Title</option>
}


}
}


</select>
</div>


<div class="col-md-3" dir="rtl">
<div>@item.Title</div>
</div>
</div>
break;


case FormFieldsType.Text:
<div class="form-group">


<div class="col-md-9" dir="rtl">
<input class="form-control fc" type="text" />
</div>
<div class="col-md-3" dir="rtl">
<div>@item.Title</div>
</div>
</div>
break;
default:
break;
}






}
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input id="btnreg" type="submit" class="btn btn-default" value="Register" />


</div>
</div>

}