我是一个.NET新手,但这是我的问题:
我有一个使用母版页的应用程序。我有一个页面上有 formview ,用于输入地址信息。在insertitemtemplate中是我引用的用户控件。此用户控件是列出国家/地区的下拉列表。 usercontrol具有公共属性以获取和设置所选值。 usercontrol不是数据绑定,而是静态的。用户控件 .ascx 文件中usercontrol的id为“DropDownListCountry”。当我在页面的formview上引用它时,ID为“fvDropDownListCountry”。
当我执行命令以保存formview的用户输入时,我想获得用户已指示他们选择了哪个国家/地区的选定值。对于其他输入区域,即文本框,我可以使用以下代码:
Dim street1 As String = CType(myFrmView.FindControl("fvTextBoxStreet1"), TextBox).Text
很明显,这种方法不适用于用户控件内部的下拉列表。我不能例如使用:
Dim country As String = TryCast(myFrmView.FindControl("fvDropDownListCountry"), DropDownList).SelectedValue
我四处寻找试图找到如何从这个用户控件中获取所选值的答案,但是在此处是新的,还没有找到它。我已经查看函数以递归方式检查子控件的控件,但是无法使其工作。
任何帮助将不胜感激
答案 0 :(得分:0)
你想在哪里获得这个价值? asp.net TextBox <input type=text />
自动维护状态,但这不适用于asp.net DropDownList <select />
如果您在PageInit期间尝试访问DropDownList,则由于ViewState不可用,因此尚未加载该值。您需要在PageLoad中或在DropDownList上的SelectedIndexChanged事件中访问它。
仅供参考:非常确定您可以在PageInit期间设置SelectedIndex或SelectedValue属性,但无法读取该值。