我在运行时使用像这样的javascript / jquery动态创建我的html复选框。它使用的是Jquery bootgrid。
isAssigned: function (column, row) {
if (row.isAssigned == "True" || row.isAssigned == "true") {
return "<input id='chk" + row.id + "' type='checkbox' name='chkMarks' checked='" + row.isAssigned + "' />";
}
else {
return "<input id='chk" + row.id + "' type='checkbox' name='chkMarks'/>";
}
}
我需要做的是以某种方式获取后面的aspx.cs代码中的提交按钮单击事件中的值。我无法逃避=&#34;服务器&#34;这些控件是因为在页面加载之前不会添加id。我需要得到身份证,以及他们是真还是假。
我想知道是否有人知道让我获得这些价值的最佳方法。
protected void myTester_Click(object sender, EventArgs e)
{
var values = Request["chkMarks"].ToString();
}
答案 0 :(得分:0)
你几乎拥有它!您需要使用Request.Form而不仅仅是Request。这应该可以让您访问所有DOM元素。
var values = Request.Form["chkMarks"].ToString();
以下是有关它的更多信息:https://msdn.microsoft.com/en-us/library/system.web.httprequest.form(v=vs.110).aspx
答案 1 :(得分:0)
Request.Unvalidated [“chkMarks”]
也可能有用,具体取决于该字段的值。
答案 2 :(得分:0)
我最后使用JSON使用回发来做到这一点,所以不是异步的,希望对某人有用。
function BuildJSON() {
var jsonObj = [];
jQuery("input[name='chkMarks']").each(function () {
item = {}
item["id"] = this.id;
item["isAssigned"] = this.checked;
jsonObj.push(item);
});
var json = JSON.stringify(jsonObj);
$('#<%= hiddenMarksID.ClientID %>').val(json);
}
在后面的代码中,我将一个事件附加到按钮并选择了JSON,就像这样......
protected void btnSubmitMarks_Click(object sender, EventArgs e)
{
string json = hiddenMarksID.Value;
List<ChkMark> chkMark = new JavaScriptSerializer().Deserialize<List<ChkMark>>(json);
这是POCO ......
public class ChkMark
{
public string id { get; set; }
public bool isAssigned { get; set; }
}