我有一个带有select标签的web表单(如果重要的话,还有一个母版页):
<select id="versionList" name="versionList""></select>选项从web服务动态追加jQuery,以响应另一个select控件上的更改事件:
$.ajax ({
url: "service.asmx/GetVersions",
type: "POST",
contentType: "application/json; charset=utf-8",
data: "{'productID':'" + productID + "' }",
dataType: "json",
success: function(versions) {
$("#versionList").empty();
$.each(versions.d, function() {
$("#versionList").append("<option value='" + this.ID + "'>" + this.Version + "</option>");
});
}
});当我在回发期间读取表单变量时,它返回"undefined":
string whereIsMyVersion = Request.Form["versionList"]; // "undefined"我根据this question向select元素添加了一个name属性,希望看到用户选择的选项的值。为什么我得到的是“未定义的”?
如果相关,我没有使用DropDownList,因为当我添加动态选项时,它会生成描述为here的错误。
发布于 2011-12-17 06:02:55
是否选择了下拉列表中的值?如果不是,则没有值可以发送到服务器。
另外,当表单提交时,select html元素是否在表单中?如果没有,那么它就不会被提交。
我唯一的另一个想法是,webforms在发送之前不会对帖子进行黑客攻击,因为它只从服务器生成的控件中发送数据。因此忽略您的html元素。
如果是这种情况,那么在html中放置一个隐藏的server元素标记,并在select元素更改时将值设置为select选项。
https://stackoverflow.com/questions/8540575
复制相似问题