2016-07-26 77 views
0

我的Asp.net Mvc 3項目有一個問題。我正在使用數據優先方法 和強類型視圖。我從模型中隱藏一個值,在Asp.net Mvc隱藏字段值不能訪問

@Html.TextBoxFor(model => model.myfield1, new { style=" display:none" }) 

當我在java腳本上訪問此字段值時,我得到空值或空白。

var abc= s("#myfield1").val(); 
alert(abc) 

我會嘗試像

@Html.DisplayFor(model => model.myfield1, new{}) 

值將顯示在視圖。 我也嘗試使用隱藏字段,但不工作

有任何問題或解決方案。我不會在視圖中顯示該字段,但爲了進一步的目的需要此值。

+0

我假設它的'$(「#myfield1」).val();'(不's')。如果它返回'null',那麼因爲你的'myfield1'屬性是'null',請檢查你生成的html - 它會顯示'value =「」'。但是如果'DisplayFor()'顯示一個值,那麼它就是一個'ModelState'問題,並且你需要在你的控制器方法中顯示與這個視圖相關的代碼 –

回答

1

對於顯示字段:無,看起來val()不起作用。

我繞過這種行爲使用attr():

$('input').attr('value',myNewValue); 
+0

當然'.val()'起作用了(試一下!)。如果'.val()'返回null,那麼'.attr('value')' - 但你的代碼是設置的值,沒有得到它 –

0

因爲強類型的HTML輔助不能訪問時隱時現,您可以使用下面這個幫手,而不是你用的是什麼現在 @ Html.HiddenFor( m => m.myfield1) 這個幫助器用於在強類型視圖中存儲隱藏值

+0

@ Naveen Ganeshe我嘗試了你的建議,但它不工作 – Ajay