如何从aspx.cs文件访问usercontrol的radiobuttonlist

时间:2011-10-19 08:02:07

标签: c# asp.net ascx

我无法从aspx.cs文件中获取radiobuttonlist控件的选定值。 radiobuttonlist控件位于.ascx文件中。我不断将System.NullReferenceException对象引用设置为对象的实例。

有什么想法吗?

我尝试使用FindControl方法多次更改它,因为它会失败。这是我尝试的最后一件事:

protected void ClientsDropDownList_Selected(object sender, EventArgs e)
    {
        this.ConsultationFormControl.LoadClient(int.Parse(ClientsDropDownList.SelectedValue));    

            if (ClientsDropDownList.SelectedValue != "Please Select One")
            {
                UserControl US = FindControl("ConsultationFormControl") as UserControl;
                RadioButtonList rblMarStat = US.FindControl("rblMaritalStatus") as RadioButtonList;
                if (rblMarStat.SelectedValue == "Married")
                {
                    Response.Write("perfect");
                }
            }            
    }

希望这有帮助。

詹姆斯

好的,伙计们,谢谢你的帮助。看起来我们得到了它的工作。再次感谢AVD。我记得过去曾为一些事情创建一个公共财产。在没有休息的所有这些编码之后,我今晚无法思考,而且已经很晚了。这帮了很多忙。 和平,兄弟。和平研究员。

2 个答案:

答案 0 :(得分:2)

您可以在用户控件中定义一个返回public值的selected属性/方法。

编辑:

在用户控件的代码中添加以下属性,

public string SelectedValue
{
    get
    {
        return RadioButtonList1.SelectedValue;
    }
}

要从.aspx页面中访问SelectedValue属性,

string value=YourControlID1.SelectedValue;

或者使用FindControl方法,

 RadioButtonList rad = (RadioButtonList)YourControlID1.FindControl("RadioButtonList1");
 Response.Write(rad.SelectedValue);

答案 1 :(得分:0)

您可以通过以下方式访问RadioButtonList RadioButtonList rlist =(RadioButtonList)UserControlName.FindControl(“RadioButtonList1”);  string str = rlist.SelectedValue;