【问题标题】:asp.net web forms get HTML Select value in code behindasp.net web 表单在后面的代码中获取 HTML Select 值
【发布时间】:2016-04-07 11:49:48
【问题描述】:

我正在代码块中创建 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 获取值是否有任何解决方案?我不想选择runat="server"

谢谢!

【问题讨论】:

  • “在代码块中”是什么意思?在 HTML select 的“工作”和“不工作”版本之间,客户端代码有什么不同吗?

标签: c# html asp.net webforms codeblocks


【解决方案1】:

我们可以使用更多细节来更清楚地回答这个问题,但我怀疑由于您正在执行 response.write,因此您在初始响应返回后会丢失状态。我会假设您的原始选择控件已硬编码到您的 .aspx 页面中,这就是您仍然可以使用 Forms.Request 方法看到它的原因。

您可以尝试在 Page_Init 函数中输入此代码,看看这是否可以解决您的问题,如果没有,我将通过服务器支持的隐藏字段设置所选值,以便您可以在后面的代码中访问它,因为您正在回发无论如何,单击按钮即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 2015-05-14
    • 2012-10-26
    • 1970-01-01
    • 2016-05-21
    相关资源
    最近更新 更多