我在从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;
答案 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"
在服务器端访问以获取隐藏字段的值。