2011-08-12 161 views
1

我有一個MVC3和Razor項目。 我正在做我的項目沒有JavaScript第一,然後在未來的一切工作沒有JS,然後我將添加JS functionallity。 問題是,我有一個剃鬚刀頁面,我從模型中填充選擇,我需要的是,當選擇選項更改時,則必須填寫另一個選擇。 我的想法是,在模型中我有一個對象的集合,需要第二個選擇來填充,並且當第一個select的onchange事件被觸發時,我調用控制器上的一個方法來填充模型上的列表而在視圖方面,我用列表中的foreach填充第二個選擇。 我的問題是..我如何開啓onchange事件? 請注意,我沒有使用Html.DropDownList或類似的東西..但如果它是必要的,我會的。填寫第二個選擇與第一個MVC3上的第一個沒有javascript

謝謝,我希望你能陪我!

回答

1

selectonchange事件需要使用Javascript。要處理JavaScript禁用時,您通常會添加類似於「更新」submit button<noscript>標記以更新選擇使用服務器帖子。僅當Javacript被禁用時,<noscript>標籤纔會顯示。

+0

我會選擇不使用'noscript'標籤。最好使用javascript來添加按鈕,並將其刪除(display:none)。然後,如果JavaScript沒有啓用,該按鈕將不會被刪除。這是一個更實證的測試:無論是在那裏,還是將被您正在測試的功能刪除。 – Bazzz

+0

+1好主意 - 不管怎麼樣,請記住,用這種方法進行,意味着你將會膨脹控制器的大小。 – Tejs

+0

@Bazzz,無論哪種方式都很好,但我同意你的看法,即通常顯示非Javascript版本並使用Javascript來刪除它通常是最好的選擇。我以這種方式添加所有事件,而不是在元素中使用onchange等。以這種方式將你的Javascript從你的HTML中分離出來:o) –

相關問題