2010-11-20 71 views
0

我在CreateInstruction視圖中保存「指令」。該視圖具有局部視圖「CreateInstnAttribute」,該視圖保存與該指令相關的「屬性」。它需要InstnID作爲外鍵。指令使用JQuery保存以避免回傳。那麼我怎樣才能讓InstnID保存InstnAttribute呢?我試過HiddenField來保存InstnId,但我無法在那裏接收到值。我們可以直接在JQuery中使用viewdata嗎?任何幫助將是可觀的。如何在不使用隱藏字段的情況下從JQuery訪問viewdata?

+0

不,你不能直接使用可視數據。嘗試使用cookies,然後,我知道它是一個壞主意。 – 2010-11-20 09:47:03

回答

3

如果您的jQuery是在標記(.aspx文件)中定義的,您可以按如下方式通過爲其值分配一個變量來訪問視圖數據。

var myValue = "<%= ViewData["MyValue"] %>"; 
alert(myValue); 

警報調用只是爲了表明您擁有它。顯然你可以按你的意願使用它。

0

我所有的PartialViews像你所說遵循相同的基地之一:

this cool article :)

他們拿出一個稍微複雜一些,但這是我開始與基地,你會得到一切工作在任何時間!

1

您需要傳遞PartialView中的InstId並在PartialView中訪問它。最好的方法是創建一個AttributeViewModel(它將包含InstID)並將其傳遞給部分視圖。

jQuery的可以使用內嵌代碼訪問它:

var InstID = "<%= Model.InstID %>" 
//make the jQuery postback call here using InstID 
1

試試這個代碼

var fieldid = JSON.parse('@Html.Raw(Json.Encode(ViewData["fieldid"]))'); 
相關問題