2011-05-14 82 views
0

如果我在代碼塊內有沒有辦法將一個隱藏值賦給變量?html.hiddenvalue將其分配給變量

<% 
//doing stuff here in addition 
Response.Write(Html.Hidden('test')); 

// i wanna do something like this 
var myVar = Response.Write(Html.Hidden('test')); 


%> 

這裏就是我想要做的:我在javascript準備提交表單,但我要採取什麼在我的下拉列表中選擇和它的對象,將我們將向您分配給屬性TempData的[ 「MyObj中」]。

+0

你想知道如何訪問JavaScript中的隱藏字段或者你想知道如何在C#中獲取/設置值? – klabranche 2011-05-14 20:36:35

回答

0

從我讀到的問題中,您想要從下拉列表中選擇一個值,並最終將其分配給控制器的TempData集合中某個對象的屬性 - 是嗎?

假設是這樣的話,MVC中最好的選擇就是讓你想放入TempData的對象作爲你發佈表單的action方法的參數,讓MVC綁定系統填充對象的屬性爲你。然後,您可以將對象添加到TempData的在操作方法:

[HttpPost] 
public ActionResult ActionMethod(MyObject myObj) 
{ 
    this.TempData["myObj"] = myObj; 

    return this.View(); 
} 

對於綁定工作,對象的屬性必須有這(不區分大小寫)的表單字段包含它的名字相匹配的名字值。如果屬性名稱和下拉列表中的名稱不匹配,你可以使用jQuery的下拉列表中的值複製到一個隱藏字段,當表單提交這樣的正確名稱:

$("#formId").submit(function() { 
    // Where you have a hidden field with id 'PropertyName': 
    $("#PropertyName").val($("#dropDownListId").val()); 
    return true; 
}); 

希望這有一些幫助,我並沒有完全錯誤的想法:)

+0

感謝您的洞察! – Rod 2011-05-14 21:31:07

+0

非常歡迎:) – 2011-05-14 21:42:23