1,HTML頁
頭部注冊:
<%@ Register Src="~/WorkLog/WorkLogNewV1/UserControl/CeShiBu.ascx" TagPrefix="UserControl" TagName="CeShiBu"%> <%@ Register Src="~/WorkLog/WorkLogNewV1/UserControl/KaiFaBu.ascx" TagPrefix="UserControl" TagName="KaiFaBu"%>
控件擺放位置:
<div id="controlspan" runat=server> </div>
2,C#后台
/// <summary> /// 根據事項和分類決定顯示用戶控件中哪些要素 /// </summary> /// <param name="strFL"></param> /// <param name="strSX"></param> private void setUserControlVisible(string strFL,string strSX) { if (ViewState["rzDeptName"].ToString() == "開發部") {
//用戶控件路徑 UserControl KaiFaBuControl = (UserControl)Page.LoadControl("UserControl/KaiFaBu.ascx"); Type tc = KaiFaBuControl.GetType();
//用戶控件中要調用的初始化方法 System.Reflection.MethodInfo m = tc.GetMethod("OnStart");
//調用初始化方法要傳遞的參數 object[] bjParas = new object[1]; bjParas[0] = strSX; m.Invoke(KaiFaBuControl, bjParas); controlspan.Controls.Clear(); controlspan.Controls.Add(KaiFaBuControl); } if (ViewState["rzDeptName"].ToString() == "測試部") { UserControl KaiFaBuControl = (UserControl)Page.LoadControl("UserControl/CeShiBu.ascx"); Type tc = KaiFaBuControl.GetType(); System.Reflection.MethodInfo m = tc.GetMethod("OnStart"); object[] bjParas = new object[1]; bjParas[0] = strSX; m.Invoke(KaiFaBuControl, bjParas); controlspan.Controls.Clear(); controlspan.Controls.Add(KaiFaBuControl); } }
在頁面上動態改變strFL,strSX,可以動態加載不同的用戶控件,或者加載用戶控件中的不同元素。
關於頁面上限制 數字小數點百分號意外的字符不能輸入
<input type=text ID="labValue" class="labValue" runat="server" onkeyup="this.value=this.value.replace(/[^\d\.\%]/g,'')" onafterpaste="this.value=this.value.replace(/[^\d\.\%]/g,'')" value='<%#Eval("Value")%>'></input>
如果在cs頁面中獲取html控件對象,並獲取其值的方法:
string strValue = (gvInformationOperateGather.Rows[i].FindControl("labValue") as System.Web.UI.HtmlControls.HtmlInputControl).Value.Trim();
服務器控件:System.Web.UI.Controls.TextBox
