从InnerHTML获取输入值

时间:2018-07-09 07:29:00

标签: c# html asp.net webforms innerhtml

我在从C#中的输入获取值时遇到问题。我有一种情况,有些用户看到了一个不同的表。每个用户都有自己的批准级别(从1到5)。

switch (levelofapprove_converted)
            { //HiringManager
                case 1:
                    id_hiringmanager_div.InnerHtml = @"<table class=""table"" id=""id_hiringmanager"" runat=""server"">
<td style=""height: 37px""><input type=""checkbox"" class=""form-check-input"" id=""id_check_claims"" runat=""server""></td></table>";
                    break;
                //IT
                case 2:
 id_hiringmanager_div.InnerHtml = @" <table class=""table"" id=""id_IT"" runat=""server"">                
                <tr>
                    <td style=""color: rgb(0,0,0); height: 37px;"">Delete User Access Rights</td>
                    <td style=""height: 37px""><input type=""checkbox"" class=""form-check-input"" id=""id_check_access_rights"" runat=""server""></td>
                </tr>
</table>";
                    break;
            }

这是一个外观设计,使用InnerHtml,我为div填充了每个人不同的表。

<div runat="server" id="id_hiringmanager_div"></div>
  <table class="table">
    <tr>
      <td colspan="2">
       <button class="btn btn-primary btn-lg btn-block" onserverclick="btn_approve_Click" runat="server">Approve</button>
      </td>
     </tr>
  </table>

因此,当我尝试从复选框中获取价值或调用OnclickEvent时,没有任何反应。错误列表说没有看到这样的控件。 这是我试图给他们打电话的方式:

bool check_pending_leave = id_check_pending_leave.IsChecked;

2 个答案:

答案 0 :(得分:2)

因此,您的问题是您正在通过字符串创建输入。另外,我建议的runat =“ server”也无济于事,因为服务器不知道它们是创建的。

您必须选择: 首先是在aspx / ascx文件中创建html标记,并将其放在asp:panel中,并使用您具有的代码隐藏逻辑隐藏/显示它们。

或者您可以像开始时那样做,并在输入上添加标签名称=“ id_check_claims”,然后在后面的代码中,您需要调用以下输入:

//IMPORTANT: if checked it will return "on", not 1 or true
var strValue = Page.Request.Form["id_check_claims"];

希望这会有所帮助。

答案 1 :(得分:0)

采用隐藏字段(服务器端变量)值来设置复选框的点击事件时的复选框值。

Map<String, Integer> daysAllowed = (Map<String, Integer>) configuration.get("daysAllowed ") -> the space after "daysAllowed " -> "daysAllowed"

Map<String, Object> requestWindow = (Map<String, Object>) offDayQuota.get("requestWindow") -> Here I should write configuration.get("requestWindow") instead of  offDayQuota.get("requestWindow"), so "offDayQuota" -> "configuration"


this.daysAllowed_Max = daysAllowed.get("daysAllowed_Max") -> "max" instead of "daysAllowed_Max"
this.daysAllowed_Min = daysAllowed.get("daysAllowed_Min") -> "min" instead of "daysAllowed_Min"

在服务器端访问以获取隐藏字段的值。