2012-09-12 87 views
1

我的申請是asp.net我使用傳遞變量從控制器到一個觀點:呼叫是不明確的MVC ViewBag隱藏輸入

public ActionResult Create(long? learnerID) 
    { 
     learnerID = 211; 
     ViewBag.learnerID = learnerID.Value; 
     return View(); 
    } 

在視圖:

<input type="text" value="<%= ViewBag.learnerID %>" id="Learner_ID" name="Learner_ID" /> 

值211顯示在窗體中,我可以保存它,但是如果我將輸入類型更改爲隱藏或使用style =「display:none」,我會得到以下錯誤:

The call is ambiguous between the following methods or properties: 'System.IO.TextWriter.Write(string, params object[])' and 'System.IO.TextWriter.Write(char[])' 

希望你的建議。提前致謝。

回答

1

嘗試增加的ToString()的調用

<input type="text" value="<%= ViewBag.learnerID.ToString() %>" id="Learner_ID" name="Learner_ID" /> 
+0

謝謝阿門,它運作良好。 – hncl

1

使用<%= HtmL.Hidden( 「Learner_ID」,ViewBag.learnerID)%>。 但更好地使用強類型的視圖和鍵入Html.HiddenFor(m => m.LearnerID)

+0

感謝Kirill,我得到這個錯誤:'System.Web.Mvc.HtmlHelper '沒有可用的方法名爲'隱藏',但似乎有一個名稱的擴展方法。擴展方法不能動態分派。考慮轉換動態參數或調用擴展方法而不使用擴展方法語法。我確實有公共長期Learner_ID {get;組; }在模型中。 – hncl