我用的vs2003开发的一个OA系统
前台HTML代码
<td class="A" width="30%"><FONT face="宋体"><font color="red">*</font>姓&nbsp;&nbsp;&nbsp;&nbsp;名:</FONT></td>
<td><FONT face="宋体" width="70%"><asp:textbox id="txtUser" ReadOnly="True" CssClass="aa" Runat="server" Width="85%"></asp:textbox></FONT><input onclick="doSearch()" type="button" value="选择">
<tr>
<td class="A" width="30%"><FONT face="宋体"><font color="red">*</font>手机号码:</FONT></td>
<td><FONT face="宋体" width="70%"><asp:textbox id="txtModie" runat="server" ReadOnly="True" CssClass="aa" Width="100%" MaxLength="20"></asp:textbox></FONT></td>
</tr>
<tr>
<td class="A" style="HEIGHT: 14px" width="30%">&nbsp;短信模版:
</td>
<td style="HEIGHT: 14px"><asp:dropdownlist id="ddlMobieTemplate" Runat="server"></asp:dropdownlist></td>
</tr>
<tr>
<td class="A" width="30%"></td>
<td width="70%"><font color="#cc77cc">你最多可以输人63个字&nbsp;你已输入&nbsp;<asp:label id="lblMax" Runat="server">0</asp:label>
字&nbsp;还可以输入&nbsp;<asp:label id="lblMin" Runat="server">63</asp:label>
字</font>
</td>
</tr><tr>
<td colspan="2"><input type="hidden" id="hidMobieTemplate" runat="server"><input type="hidden" id="hidCentent" runat="server"><input type="hidden" id="hidBTime" runat="server"><input type="hidden" id="hidDate" runat="server"><input type="hidden" id="hidHours" runat="server"><input type="hidden" id="hidMinutes" runat="server">
</td>
</tr>JS
function   doSearch()
{  
SaveHiddent();
var   s   =   new   Object();  
s.name   ="aaa";  
var   k   =   showModalDialog('../Common/SelectPerson.aspx','example04','dialogWidth:360px;dialogHeight:450px;<BR>dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes');  
if(k.type=="")//传递回的type为空的时候才刷新页面。  
{  
location.reload();  
}  
GetHiddentValue();
 }   function SaveHiddent()
 {
document.getElementById("hidMobieTemplate").value=document.getElementById("ddlMobieTemplate").value;
document.getElementById("hidCentent").value=document.getElementById("txtCentent").value;
if(document.getElementById("chbBTime").checked == true)
{
document.getElementById("hidBTime").value= "true";
}
else
{
document.getElementById("hidBTime").value="false";
}
document.getElementById("hidDate").value=document.getElementById("txtDate").value;
document.getElementById("hidHours").value=document.getElementById("ddlHours").value;
document.getElementById("hidMinutes").value=document.getElementById("ddlMinutes").value;
 }
 
function GetHiddentValue()
 {
alert(document.getElementById("hidCentent").value);
/*for(int i=0;i<document.getElementById("ddlMobieTemplate").options.length;i++)
{
if(document.getElementById("ddlMobieTemplate").options[i].value == document.getElementById("hidMobieTemplate"))
{
document.getElementById("ddlMobieTemplate").options[i].select=true;
}
}*/
var centent =document.getElementById("hidCentent").value;
document.getElementById("txtCentent").value=centent;
 }后台代码
private void BindChoosePerson()
{
string person=string.Empty;
string mobile=string.Empty;
ArrayList list=(ArrayList)this.Session["SeclectPerson"];
ArrayList list1=new ArrayList();
if(list.Count !=0)
{
for(int i=0;i<list.Count;i++)
{
ListItem item=(ListItem)list[i];
person+=item.Text.ToString().Trim()+"、";
mobile+=item.Value.ToString().Trim()+"、";
}
this.txtUser.Text=person.Substring(0,person.Length-1);
this.txtModie.Text=mobile.Substring(0,mobile.Length-1);
this.Session["SeclectPerson1"]=list;
this.Session.Remove("SeclectPerson");
string str=this.hidMobieTemplate.Value.Trim();
this.ddlMobieTemplate.SelectedIndex=this.ddlMobieTemplate.Items.IndexOf(this.ddlMobieTemplate.Items.FindByValue(str));
}
}
}我用JS的alert()可以打印出来数据 但是写不到控件里面去 再后台也没办法获得数据 在线等待 

解决方案 »

  1.   

    你是想选择人员后回来..父页面的信息还保留?
    可是你在返回type为空的时候reload了
    你用的是页面的hidden处理的..如果reload(),hidden值会被清空..最好不要reload().
      

  2.   

    WBE隐藏控件,viewstate,session,cookie,database,xml,txt……
      

  3.   

    如果你想模仿asp.net控件管理状态,先要学好使用asp.net控件本身。
      

  4.   

    介意可以去先了解  用户自定义控件,为什么象服务器提交数据后  作为服务器控件依然保存着数据,而Html标签就不行了,如果懂了你就知道怎么解决了