aspx会不会看到javascript所做的更改?

时间:2012-06-04 19:11:08

标签: javascript asp.net

我正在使用javascript更改span的内容。我可以看到它已随视图源而改变。

当我尝试在c#函数中获取内容后,它仍然具有旧值。

我的猜测是,asp只是看到它发送给客户端的html,并且javascript正在改变asp无法看到的客户端html?

这是我对如何解释它的唯一猜测。这是正确的吗?

感谢。

4 个答案:

答案 0 :(得分:3)

除非您要更改的内容支持将值重新发送回服务器,否则您的更改将被丢弃。 <span>没有被POST到服务器。

但是,如果更改了INPUT的值,那么服务器将能够在嵌套页面提交POST上看到这些新值,前提是它们是runat=server

答案 1 :(得分:2)

ASPX SERVER SIDE 。 Javascript是客户端。除非你回电话给网络服务或类似的东西,否则两者不会混合。

您的<span>更改仅在客户端上进行,服务器不知道。如果您希望将交互传达回服务器,请将AJAX视为一种解决方案。

答案 2 :(得分:1)

是的,你的猜测是正确的!

Javascript只看到客户端,ASP.NET只看到服务器端。如果您在客户端进行了一些更改,并且您希望服务器端知道该更改,则可以使用 AJAX

有关详细信息,请参阅Ajax

在.NET中,您可以使用WebService,Controller或Page来接收ajax调用。

答案 3 :(得分:1)

runat="server"添加到您的范围内。这将导致它被视图状态选中,并且在回发期间可以使用新值。

编辑:根据jrummel和mikemanne的测试,即使用runat=server装饰,跨度也不会回发。

如果您希望服务器上的值始终可用,我建议使用输入(如其他人建议的那样)而不是span。