我在aspx的div标签中有HTML元素(输入,具体选择)。我使用Jquery对它们进行了一些计算。我的提交按钮使用onclientclick执行验证,如果返回true,则发生服务器端操作(提交按钮的onclick事件)。
但是,一旦我提交,HTML元素就会失去它们的价值并变成空白。我希望在提交后保留这些值,以便用户可以在提交之前查看他们输入的内容。
有人建议<asp:UpdatePanel>
。但是,我不想使用.NET AJAX。
可以用Jquery / Javascript完成吗?
以下是aspx页面中的HTML示例。
<input id="txtLength10" onchange="cc(10);" type="text" class="numeric" maxlength="25" />
<select id="ddClass10"><option value="10">Select Class</option></select>
答案 0 :(得分:1)
尝试为两个表单元素添加runat="server"
属性。
这样两者都将被视为html server controls,所选/输入的值将在回发中保留。
<input id="txtLength10" runat="server" onchange="cc(10);" type="text" class="numeric" maxlength="25" />
<select id="ddClass10" runat="server"><option value="10">Select Class</option></select>
答案 1 :(得分:0)
您可以使用jQuery的ajax
函数communicate with the server。这省略了使用Microsoft的Ajax实现而不使用任何回发,从而保持您在客户端上构建的DOM完整。
答案 2 :(得分:0)
我有一篇博文,几周前我在“Asp.Net - 通过Session对象在页面之间保存数据”中做了一个博客文章你可以使用我在那里发布的代码,并使用回发之间的持久数据来实现你的控件。它不是客户端选项,但如果你最终走向服务器端路线,这可能有所帮助。
http://blogbydylan.com/blog/2011/10/asp-net-persisting-data-between-pages-via-the-session-object/
答案 3 :(得分:0)
我对上述问题没有运气。最后,我在aspx hiddenfield中获取了所需的控件的所有值,然后使用了一个检查,如果在onload事件上该隐藏字段上存在一个值。
$(document).ready(function() {
if ($('#<%=hdfFILLER.ClientID %>').val() != "") {
//use regex to break this string and fill all the html controls
}});