我在一個頁面中有多個表單,並且該頁面繼承了一個單一模型。每個表單提交都需要一個共同的值。所以,共同的價值是存儲在隱藏的領域。隱藏的字段保持全局,即在所有表單之外,但是我的問題是每當我提交表單時,隱藏字段將變爲空。隱藏字段爲@Html.HiddenfieldFor(m=>m.FkId)
,並且此FkId是字符串類型保留模型,即public string FkId{get;set;}
。可以有人請指導我如何處理這種情況。如果我將隱藏字段保存在其中一個表單中,那麼它將進入控制器,但僅用於保存它的表單提交。但我希望該屬性設置一次,並可以在所有表單提交中使用。請幫助我。我怎樣才能理清這個問題在Mvc 4.0中以多種形式處理隱藏字段
一些相關的代碼
<div id="tabs">
<ul>
<li><a href="#tabs-1">Nunc tincidunt</a></li>
<li><a href="#tabs-2">Proin dolor</a></li>
<li><a href="#tabs-3">Aenean lacinia</a></li>
</ul>
<div id="tabs-1">
@using (Ajax.BeginForm("Evaluation","SaveTab1"{new AjaxOptions { Onsucess= "DisplayMessage" }))
{
@Html.HiddenFieldfor(m=>m.fkID)
<input type="Submit" id="btnTab1" value="Submit" onclick="CheckUser();"/>
}
</div>
<div id="tabs-2">
@using (Ajax.BeginForm("Evaluation","SaveTab2"{new AjaxOptions { Onsucess= "DisplayMessage" }))
{
@Html.HiddenFieldfor(m=>m.fkID)
<input type="Submit" id="btnTab2" value="Submit" />
}
</div>
<div id="tabs-3">
@using (Ajax.BeginForm("Evaluation","SaveTab3"{new AjaxOptions { Onsucess= "DisplayMessage" }))
{
@Html.HiddenFieldfor(m=>m.fkID)
<input type="Submit" id="btnTab3" value="Submit" />
}
</div>
</div>
<script type="text/javascript">
function DisplayMessage(Json)
{
alert($("#fkID").val(Json.hdn));
// and Alert is showing the value
$("#fkID").val(Json.hdn);
}
</script>
在控制器我有:
public ActionResult SaveTab1(Model obj)
{
tbl ob =new tbl();
ob.FkId=Obj.fkID;
// after saving, I return
return json(new{hdn=Obj.fkID})
}
public ActionResult SaveTab2(Model obj)
{
tbl ob =new tbl();
ob.FkId=Obj.fkID;
//after saving, I return
return json(new{hdn=Obj.fkID})
}
類似的標籤三,但不幸的是隱藏的申請只來自於第一種形式提交。然後我返回值來查看由json並再次設置隱藏字段屬性,但它爲第二種形式爲空。請幫助
什麼是'Html.HiddenFieldFor'?你甚至不知道語法錯誤信息?它應該是'Html.HiddenFor'。 – ataravati