簡體   English   中英

MVC:將類型為'double'的ViewData對象傳遞給數字輸入字段

[英]MVC: Pass ViewData object with type 'double' to number input field

我試圖將類型為double的ViewData對象傳遞給數字類型為1的小數位輸入字段。 但是輸入字段保持為空。 我究竟做錯了什么?

<p>
   Debiet factor: <input name="FlowFact" type="number" value="@ViewData["FlowFact"]"  step="0.1" autocomplete="off">
   @String.Format("{0:N1} m³/h", @ViewData["FlowFact"]) <!--Result = 3,1 m³/h-->
</p>

您面臨的問題是ViewData["FlowFact"]返回的內容,根據您的@String.Format("{0:N1} m³/h", @ViewData["FlowFact"]) <!--Result = 3,1 m³/h-->3,1

該號碼無法識別,因此無法使用。 返回整數或十進制數。 因此,而不是一個的3,1 ,返回3.1或只是一個3 否則,請更改輸入類型以接受您要傳遞的內容。

感謝jamiedanq,我找到了解決方案。

在我的控制器中,我正在向@ViewData [“ FlowFact”]對象寫入一個雙精度值。 但是在我看來,它返回的值為3,0999,因為“,”,對於輸入類型“ Number”而言這不是正確的值。

我沒有將雙精度值傳遞給對象,而是將其更改為傳遞字符串值,並將“,”替換為“。”:

控制器:

 @ViewData["FlowFact"] = @String.Format("{0:N1}", MyDoubleValue).Replace(",","."); 

視圖:

 <p> Debiet factor: <input name="FlowFact" type="number" value="@ViewData["FlowFact"]" step="0.1" autocomplete="off"> </p> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM