1
My controller is declared as code below:
public ActionResult Create([Bind(Include = "a,b,c,d,e")] Proposal proposal, int prjId, int[] array)
{
if (ModelState.IsValid)
{
proposal.f = prjId;
db.Proposals.Add(proposal);
db.SaveChanges();
foreach(var x in step)
{
var price = new Price();
price.a = x.step;
price.b = x.menday;
price.c = x.value;
db.SalveChanges();
}
return RedirectToAction("Index");
}
return View(proposal);
}
Codigo View:
<div class="container margin-top-0">
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="panel panel-primary">
<div class="panel-heading">
<h2 class="panel-title">Proposta de Trabalho</h2>
</div>
<section class="panel-body">
<div class="row-content">
<section class="col-lg-12">
@Html.LabelFor(model => model.a, htmlAttributes: new { @class = "control-label" })
<section class="input-group col-lg-12">
@Html.TextAreaFor(model => model.a, new { @class = "form-control", @cols = 80, @rows = 10, @placeHolder = "Informe aqui todos os detalhes da prestação da proposta de prestação de serviços!", onkeyup = "limite_textarea_ProposalDescription(this.value)", id = "text_ProposalDescription" })
@Html.ValidationMessageFor(model => model.a, "", new { @class = "text-danger" })
</section>
<div class="text-right">
<span id="cont_ProposalDescription" class="small">2500</span>
</div>
</section>
</div>
<div class="row-content">
<section class="col-lg-3">
@Html.LabelFor(model => model.b, htmlAttributes: new { @class = "control-label" })
<section class="input-group col-lg-12">
@Html.EditorFor(model => model.b, new { htmlAttributes = new { @class = "form-control", @placeholder = "Horas" } })
@Html.ValidationMessageFor(model => model.b, "", new { @class = "text-danger" })
</section>
</section>
<section class="col-lg-3">
@Html.LabelFor(model => model.c, htmlAttributes: new { @class = "control-label" })
<section class="input-group col-lg-12">
@Html.EditorFor(model => model.c, new { htmlAttributes = new { @class = "form-control", @placeHolder = "Dias Trabalho" } })
@Html.ValidationMessageFor(model => model.c, "", new { @class = "text-danger" })
</section>
</section>
<section class="col-lg-3">
@Html.LabelFor(model => model.d, htmlAttributes: new { @class = "control-label" })
<div class="input-group col-lg-12">
@Html.EditorFor(model => model.d, new { htmlAttributes = new { @class = "form-control", @placeholder = "Valor Total" } })
@Html.ValidationMessageFor(model => model.d, "", new { @class = "text-danger" })
</div>
</section>
<section class="col-lg-3">
@Html.LabelFor(model => model.e, htmlAttributes: new { @class = "control-label" })
<div class="input-group col-lg-12">
@Html.EditorFor(model => model.e, new { htmlAttributes = new { @class = "form-control", @placeholder = "Valor Total" } })
@Html.ValidationMessageFor(model => model.e, "", new { @class = "text-danger" })
</div>
</section>
<input id="array" value="" hidden/>
<input id="prjId" value="23" hidden />
</div>
</section>
</div>
<div class="form-actions">
<div class="col-md-12">
<input type="submit" value="Criar Proposta" class="btn btn-lg btn-raised btn-primary center-block" />
</div>
</div>
}
@section scripts{
<script type="text/javascript">
function array() {
var linhas = document.getElementsByName('StepValue').length;
var stepArray = new Array("Step","Menday","Valor");
for (i = 0; i < linhas; i++) {
stepArray.push(
[document.getElementById('Step' + (i + 1)).value, document.getElementById('Menday' + (i + 1)).value, document.getElementById('Valor' + (i + 1)).value]
);
}
document.querySelector("[id='array']").value = stepArray;
}
</script>
}
The problem is that I am not able to pass the values of "prjId" and "array" which are dynamic and are not declared in the model. Someone can help me?
You can post the code of view?
– Jéf Bueno
I changed the question with the View posted.
– Leonardo Giulianetti
I did not quite understand your question. @Html.Hidden("prjId",23) or <input type="Hidden" name="prjId" value="23"> would not solve?
– Andre Mesquita
I forgot to put the attribute "Name"! Now Worked...
– Leonardo Giulianetti