问题描述
如题?并且我做了一下测试<asp:TextBoxID="mbrTest1"runat="server"Text='<%#Bind("Name")%>'/><bse:MyTextBoxid="mbrTest2"runat="server"Value='<%#Bind("Name")%>'/><bse:MyTextBoxID="mbrTest3"runat="server"Value="FUCKYOU"/><bse:MyTextBoxid="mbrTest4"runat="server"Value='<%#test%>'/><asp:TextBoxID="mbrTest5"runat="server"Text='<%#Bind("Name")%>'/>第15行是为了确认Bind("Name")对象存在且有值;第23行Value获得空值;第4行Value能获得字符串,很奇怪是吧?有谁也遇见过类似的问题,指点一下
解决方案
解决方案二:
在用户控件中属性通过viewstate储存.因为普通服务器控件是有VIEWSTATE自动存储机制的,用户控件还需你自己添加,请把用户控件代码帖出来.
解决方案三:
看看代码
解决方案四:
选择一个最简单的<%@ControlLanguage="C#"AutoEventWireup="true"CodeFile="GenderSelect.ascx.cs"Inherits="BSE.Control.GenderSelect"%><asp:DropDownListID="myDropDownList"runat="server"><asp:ListItemValue="0">-</asp:ListItem><asp:ListItemValue="1">男</asp:ListItem><asp:ListItemValue="2">女</asp:ListItem></asp:DropDownList>usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingBSE.Common;namespaceBSE.Control{publicpartialclassGenderSelect:System.Web.UI.UserControl{privatebyte_value;publicbyteValue{set{_value=value;}get{return_value;}}protectedvoidPage_Load(objectsender,EventArgse){if(this.IsPostBack){_value=BseFilter.GetByte(myDropDownList.SelectedValue);}else{myDropDownList.SelectedValue=(_value>=0&&_value<=2)?_value.ToString():"";}}}}
解决方案五:
1楼说的viewstate可能有道理,我马上去查查
解决方案六:
privatebyte_value;publicbyteValue{set{_value=value;}get{return_value;}}==publicbyteValue{set{ViewState["myvalue"]=value;}get{objecto=ViewState["myvalue"];if(o!=null){return(byte)o;}return0;}}
解决方案七:
我这么测试了,不知道为什么,还是不行