asp.net web表单在代码隐藏中获得HTML Select值
本文关键字:HTML Select 隐藏 web net 表单 代码 asp | 更新日期: 2023-09-27 18:28:53
我正在代码块中创建HTML选择
Response.Write("<p>Mark: </p><select onChange='"removeSameValue("+dzielo.URL+")'" id='"" + dzielo.URL + "'" name ='""+ dzielo.URL + "'" class='"form-control'">");
Response.Write("<option value='"--wybierz--'">--wybierz--</option>");
for (int i = 1; i <= dziela.Count; i++)
{
int j = i+1;
Response.Write("<option value='"" + j + "'">" + i + "</option>");
}
Response.Write("</select>");
点击按钮后,我试图从这个选择标签中获得一个选定的值:
protected void vote_Click(object sender, EventArgs e)
{
foreach(Dzieło dzielo in dziela){
String ocena = Request.Form[dzielo.URL];
ocenyDziel.Add(dzielo.Id_dzieło,int.Parse(ocena));
}
}
但它总是返回null。当我创建HTML选择不在代码块中时,我可以用这种方式获得它。从代码块中创建的Select中获取值有什么解决方案吗?我不想制作Select runat="server"
。
谢谢!
我们可以使用更多的细节来更清楚地回答这个问题,但我怀疑,由于您正在执行response.write,您在初始响应返回后会丢失状态。我假设您最初的select控件是硬编码到.aspx页面中的,这就是为什么您仍然可以使用Forms.Request方法看到它。
你可以尝试在Page_Init函数中插入此代码,看看这是否能解决你的问题,如果不能,我会通过服务器支持的隐藏字段设置所选值,这样你就可以在代码后面访问它,因为你在发布时只需点击一个按钮。