我有以下观看页面,
@using (Html.BeginForm())
{
<fieldset class="fs">
@foreach (var item in Model.lstTravelReadyEntities)
{
<label class="Detail1"><b>Associate Id : </b>@item.Var_AssoId </label>
<label class="Detail1"><b>Vertical :</b>@item.Var_Vertical</label>
<label class="Detail1"><b>Visa ValidFrom :</b>@item.Dt_VisaValidFrom </label><br /><br />
<label class="Detail2"><b>Associate Name :</b>@item.Var_AssociateName</label>
<label class="Detail2"><b>Account Name :</b>@item.Var_AccountName</label>
<label class="Detail2"><b>Visa ValidDate :</b>@item.Dt_VisaValidTill</label><br /><br />
<label class="Detail3"><b>Grade HR :</b>@item.Var_Grade</label>
<label class="Detail3"><b>Project Name :</b>@item.Var_Project_Desc</label><br />
}
<h2> Response Details</h2><br />
Supervisor Response :<input type="radio" class="radi"
name="radio" value="yes" onclick="javascript:Getfunc(this.value);">Yes
<input type="radio"
name="radio" value="no"
onclick="javascript:Getfunc(this.value)">No
<div id="es"></div>
<input type="submit" id="insert" value="Submit"
name="Submit" onclick="javascript:InsertDetails(item);"/>
</fieldset>
}
我希望将此视图页面的所有值作为参数传递给控制器,以便将这些值插入到新表中。我如何实现这一目标?
答案 0 :(得分:0)
你喜欢这样,
查看强>
@using (Html.BeginForm("SaveAudit", "Controller", FormMethod.Post)
{
}
<强>控制器强>
[HttpPost]
public ActionResult SaveAudit(AuditModel model, FormCollection collection)
{
}
答案 1 :(得分:0)
为您的控件使用@Html
助手。
看看this blog entry from Scott Gu。它与MVC2有关,但仍适用于MVC4。
有关更具体的示例,请查看有关@Html.RadioButtonFor()
的<{3}}。
另外,我建议使用jquery而不是内联onclick=
html属性来挂钩事件。
<script type="text/javascript">
$("form radio").click(function(){ // or whatever selector you need
Getfunc($(this)[0].value);
});
</script>
最后,您需要确保在控制器上以@Html.BeginForm
- 装饰的操作发送[HttpPost]
个帖子,并将您的模型作为参数。
答案 2 :(得分:0)
现有代码中的问题是什么?
表单中没有输入类型文本控件,这就是没有将信息发送到服务器的原因。像控件一样的TextBox转发数据以将信息发送到Controller Action Method。
纠正措施
假设您的TextBox不是必需的。然后,您可以为那些查看模型属性放置Hidden Fields
,这些属性需要发送到Controller Post Action方法。
实施例
@using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post))
{
<fieldset class="fs">
@foreach (var item in Model.lstTravelReadyEntities)
{
<label class="Detail1">
<b>Associate Id : </b>@item.Var_AssoId
</label>
@Html.HiddenFor(i=> item.Var_AssoId) //Added Hidden Field to send this to server
<label class="Detail1">
<b>Vertical :</b>@item.Var_Vertical</label>
@Html.HiddenFor(i => item.Var_Vertical) //When post this Hidden Field will send
<label class="Detail1">
<b>Visa ValidFrom :</b>@item.Dt_VisaValidFrom
</label>
@Html.HiddenFor(i => item.Dt_VisaValidFrom)
<br />
}
<h2>
Response Details</h2>
<br />
</fieldset>
}
为了解释观点,我排除了一些控件。现在,您可以为那些需要发送到Action Method的属性添加隐藏字段。
此外,您应该使用“视图模型”而不是“将个别参数传递给操作方法”。
希望这会对你有所帮助。