文本框在回发时失去价值我的网页上有大约4个文本框...有些是asp:textboxes,有些是inputType="text"。输入文本框通过javascript弹出日历控件填充,而asp.net文本框通过键入填充。这些文本框的初始值是从数据库中检索的。当用户更改值时,不会保存这些值,并且在单击提交按钮后会清除文本框。请帮忙解决这个困惑。谢谢。感谢您的回复,但它仍然无法正常工作.....我将这段代码放在我的页面加载事件中if(Page.IsPostBack){if(ViewState["stock"]!=null)TextBoxMaterial.Text=ViewState["股票"].ToString();if(ViewState["supplier"]!=null)TextBoxSupplier.Text=ViewState["supplier"].ToString();if(ViewState["matTime"]!=null)TextBoxMatTime.Text=ViewState["matTime"].ToString();if(ViewState["prodTime"]!=null)TextBoxProdTime.Text=ViewState["prodTime"].ToString();如果(ViewState["shipTime"]!=null)TextBoxShipTime.Text=ViewState["shipTime"].ToString();if(ViewState["cmr"]!=null)cmrDue.Value=ViewState["cmr"].ToString();if(ViewState["kc"]!=null)kcDue.Value=ViewState["kc"].ToString();并将以下代码放在按钮的onclick事件中ViewState["stock"]=TextBoxMaterial.Text;ViewState["供应商"]=TextBoxSupplier.Text;ViewState["matTime"]=TextBoxMatTime.Text;ViewState["prodTime"]=TextBoxProdTime.Text;ViewState["shipTime"]=TextBoxShipTime.Text;ViewState["cmr"]=cmrDue.Value。字符串();看法状态["kc"]=kcDue.Value.ToString();字符串prodLine=DDProdLine.SelectedValue;stringstock1=DDMaterial.SelectedValue;stringstock2=ViewState["stock"].ToString();字符串供应商=ViewState["供应商"].ToString();stringbillet=RBBillet.SelectedValue;字符串matTime1=ViewState["matTime"].ToString();stringmatTime2=DDMatTime.SelectedValue;字符串prodTime1=ViewState["prodTime"].ToString();stringprodTime2=DDProdTime.SelectedValue;字符串shipTime1=ViewState["shipTime"].ToString();stringshipTime2=DDShipTime.SelectedValue;CultureInfocultureInfo=CultureInfo.CurrentCulture;字符串格式=CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern.ToString();字符串cmr=ViewState["cmr"].ToString();字符串kc=ViewState["kc"].ToString();字符串x=cmr.Substring(3,2);字符串y=cmr.Substring(0,2);字符串z=cmr.Substring(6,4);字符串x1=kc.Substring(3,2);字符串y1=kc.Substring(0,2);字符串z1=kc.Substring(6,4);字符串finalCmr=x+"/"+y+"/"+z;字符串finalKC=x1+"/"+y1+"/"+z1;DateTimedt=DateTime.ParseExact(finalCmr,format,cultureInfo);DateTimecr=DateTime.ParseExact(finalKC,format,cultureInfo);字符串custDate=dt.ToString("dd/mm/yyyy");字符串kcDate=cr.ToString("dd/mm/yyyy");stringid=Request.QueryString["id"];布尔成功=真;TextBoxProdComment1.Text=stock2+","+supplier+matTime1+","+prodTime1+","+shipTime1+","+custDate+","+kcDate;try{success=CRTopButtons.SaveProdTable(id,prodLine,stock1,supplier,billet,matTime1,matTime2,prodTime1,prodTime2,shipTime1,shipTime2,custDate,kcDate);}catch(Exceptione){TextBoxProdComment2.Text=e.Message;System.Diagnostics.Trace.Write(e.StackTrace);文本框仍然清晰,它们都不是只读的......请帮助我遇到了类似的问题,这篇文章的ViewState和Readonly属性是最好的描述了“在回发期间通过javascript更改数据丢失”的解决方案例如,假设我们有这个asp.net控件:如果您通过客户端的javascript更改此控件的值,它不会通过服务器端的回发传播...无论您使用javascript做什么,除非你删除readonly="true"。如上所述,现在有解决此问题的方法。只需将其放在PageLoad事件中即可if(!IsPostBack)txtName.Attributes.Add("readonly","re??adonly");完成如果您的目的是禁用控件编辑,请不要忘记删除ReadOnly="true"或Enable="false",只需使用上面的代码片段即可。如果打开它,请不要忘记删除Enable="false"。我遇到的另一件事...如果您使用的是ASP.NETTextBox控件(例如)并且它是READONLY或DISABLED,则回发不会捕获更改的值。根据我的问题,我通过javascript更改了控件的值,即使浏览器呈现更改,在回发时,控件仍保留原始值。似乎也是一个常见问题...javascript启动自定义ASCX日历控件,导致javascript注入文本框。不应允许用户直接修改文本框值...stringstrDate=Request.Form["id_of_input_element"].ToString();我最终使用了上面的内容,并且在回发“重置”控件之后它改变了值!回发后,文本框不保存其状态。ASP.NET不会为您处理。如果将代码放在Page_Load事件中以设置ASP.NET文本框的值,则不会保存回发中的值,因为Page_Load发生在ASP.NET页面生命周期中的primefaces控件状态之后。这些值已经被ASP.NET恢复了,但是你正在覆盖它恢复的值。修复#2的正确方法是在加载初始状态之前检查Page.IsPostBack,如下所示:if(!Page.IsPostBack){//从数据库设置文本框初始状态}更新:有两种方法可以解决问题#1。您可以做的一件事是使用Request.Form[]集合手动检索发布的返回值,如下所示:stringstrDate=Request.Form["id_of_input_element"].ToString();如果可以的话,您可以做的另一件事就是我建议将元素更改为ASP.NET文本框,并将任何客户端Javascript事件连接到该文本框。然后ASP.NET将完全处理您的回发。我在寻找同一类型问题的答案时发现了这一点,现在我已经找到了我的问题,我认为将它放在这里可能会对其他人有所帮助。就我而言,我的控件中有一个标签,因此,如果您没有解决上述问题,我会在您的搜索中找到一个。希望它对某些情况有所帮助。如果我让你问对了,我认为你试图让这些文本框只读。如果是这样,我之前遇到过这个问题并使用C#而不是ASP.NET将文本框设置为只读,我只是添加了类似textboxName.Attributes.Add("readonly","readonly");在Page_Load中它工作正常。我在Stackoverflow上找到了这个解决方案而不是TextBoxPassword.Text=Password使用TextBoxPassword.Attributes["value"]=Password您的视图状态似乎被禁用。在页面指令中启用视图状态。以上是C#学习教程:文本框在回传时丢失所有值共享的内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处:
