这看起来很简单,但出于某种原因,我难倒......
我动态生成一个HTML Select Box,让我们称之为myselect。我根据一些数据库值创建这个选择框我生成一个HTML选择框..几乎像一个字符串,我只是吐出到页面。所以它从来不是代码隐藏中的控件,只是浏览器呈现为HTML的字符串的一部分。如果我提交我的表单,并在我的代码隐藏中执行:
Dim myVal as String = Request.Form("myselect")
该代码将为我提供myselect选择框的VALUE。如何引用此控件将其转换为System.Web.UI.HtmlControls.HtmlSelect控件? Request.Form似乎给了我值,但我想引用对象本身..
答案 0 :(得分:0)
如果您在代码文件中动态生成控件,那么在回发后它将无法使用。只要您在处理视图状态之前再次生成它(您可以在oninit中执行它),那么您可以像访问其他任何内容一样访问它。
MySelect.SelectedValue
答案 1 :(得分:0)
如果您的页面上没有静态声明此选择框(也就是说,您将其添加到Control Collection中),则必须执行以下操作:Dim MySelect as HtmlSelect = Page.FindControl("MySelect") as HtmlSelect
如果我的演员语法稍微偏离,你将不得不原谅我 - 我习惯用C#进行演员。
答案 2 :(得分:0)
回应上述评论(感谢您的帮助),我发现 Gabriel McAdams和jwiscarson 不得不说的是真的。在浏览Request对象时,我发现它只是一组key \ value对。执行Request.Form(“myformobj”)将返回一个值,因为这是应用程序可用的所有内容。如果有必要,我想我可以提供一些漂亮的javascript来跟踪表单对象类型,但在我的情况下肯定没有必要。
感谢您的帮助