0
我有一個設計和代碼隱藏的ascx頁面。我想在具有不同ID名稱的aspx頁面中嚮導控件的每個wizardstep中調用該頁面。 但由於每個嚮導的aspx頁面中的ascx頁面id的變化,我需要使用ascx頁面的不同ID編寫相同的代碼。使用不同的ID名稱在aspx中調用ascx頁面
在register.aspx頁:
<i><asp:WizardStep ID="WizardStep2" runat="server" Title="schooling">
<div class="content">
<addr:addr ID="address_acx" runat="server"/> //calling usercontrol with Id "address_ascx"
</div>
</i>
</asp:WizardStep>
和一個函數來獲取值後面的代碼:
public string[] getASCXvalues()
{
string school_name = null, sid = null, section = null;
CheckBox chk = (CheckBox)address_acx.ID .FindControl("chk_school");
TextBox txt_school = (TextBox)address_acx.FindControl("txt_school");
if (chk.Checked || address_acx.schoolnames <= 1)
{
school_name = txt_school.Text;
sid = BAL.Class1.getmaxid() + 1;
int val = Convert.ToInt32(sid.Substring(1, 6)) + 1;
sid = sid.Substring(0, 1) + val.ToString().PadLeft(6, '0');
}
else
{
school_name = address_acx.selectedschollname;
sid = address_acx.selectedschoolcode;
}
CheckBox chk_sec = (CheckBox)address_acx.FindControl("chk_section");
TextBox txt_sec = (TextBox)address_acx.FindControl("txt_section");
if (chk_sec.Checked || address_acx.sectioncount <= 1)
{
section = txt_sec.Text;
}
else
{
section = address_acx.selectedsec;
}
string[] a = new string[10];
a[0] = address_acx.selectedyear;
a[1] = address_acx.selectedmandal;
a[2] = address_acx.selectedvillage;
a[3] = school_name;
a[4] = sid;
a[5] = section;
return a;
}
現在的問題是在嚮導的下一步我要重新寫上面的函數與另一個ascx頁面的ID。
我已經試過了。如果我將usercontrol作爲參數傳遞,它會顯示錯誤,因爲ascx頁面包含獲取aspx頁面中使用的一些值的協議 – user2181131 2013-03-18 07:12:01