【发布时间】:2012-11-16 23:49:16
【问题描述】:
我有一个使用 C# 的 MVC Web 应用程序。一切正常,直到我执行“保存”操作。这个动作
从页面读取数据
即
x = $("#mytextbox").val();
x 始终是页面加载时填充的初始值。它不会在页面加载后返回用户键入的值。我还注意到这个 SAVE 函数中的 jquery 确实执行了 jQuery 显示/隐藏 ex:
$("#messagebox").show(); -- to show the user the feedback for the save action.
现在。如果我按 F5 或刷新页面。以上所有工作正常。
会不会是我添加到div中的html元素不在DOM中?
此代码块在我的 .ascx 中(部分视图)
<script language="javascript" type="text/javascript">
$("#save-button").button(); -- Works
$("#status-button").button(); -- Works
$("#DateField").datepicker(); --Works
alert($("#DebugtextBox").val()); --Works
$("#DebugtextBox").val("test"); -- Works but does not update the val in the html page
alert($("#DebugtextBox").val()); -- Works and shows "TESTS" in the alert. But the field in html page still shows the original val.
// 上面一行的更多信息.. this
【问题讨论】:
-
您将不得不向我们展示一个演示此问题的简单示例。显然,这不是大多数 MVC 应用程序的工作方式。另外,哪个版本的 MVC?
-
也许你的 javascript 被缓存了 .. 在你的脚本参考中尝试添加一个 ?v=1.1 的例子 yourjavascript.js?v=1.1 这将强制加载你的脚本的最新版本
-
我认为它与 MVC 无关。我怀疑主要是js和jquery..
-
如果 F5 修复了问题 - 那么这意味着之前和之后的页面不一样。
-
我会尝试将你所有的 js 包装在一个 DOM 加载事件中
$(document).ready(function(){ /* code here */ });
标签: c# jquery asp.net-mvc