2011-08-12 97 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) –

相关问题