访问在运行时生成的下拉值

access dropdown value generating on runtime

本文关键字:运行时 访问      更新时间:2023-09-26

我正在使用C#asp.net。点击按钮,我将使用Javascript生成下拉列表。

<scripttype="text/javascript">
var counter = 0;
function AddFileUpload() {
//debugger;
var div = document.createElement('DIV');
div.innerHTML = '<input id="file' + counter + '" name = "file' + counter + '"Type="file"/>' +
'<select id="Droplist' + counter + '" name="droplst"/>' +
'<option value="SCR">Student Count request</option>' +
'<option value="DRO">Documents recieved from others</option>' +
'<option value="TE">total estimates</option>' +
'<option value="PRE">Presentation</option>' +
'<option value="PRI">Pricing</option>' +
'<option value="Quest">Questions to student</option>' +
'<option value="RelvExp">RelevantExperience-Case Studies</option>' +
'<option value="ResReq">Resource requests</option>' +
'<option value="SSP">Student submitted paper</option>' +
'<option value="WIP">WIP</option>' ;
document.getElementById("FileUploadContainer").appendChild(div);
    counter++;
}
</script>

我正在访问页面后面的下拉值,如

string val = Request.Form["droplst"];

它运行良好,但我收到的是期权价值。如选择"学生计数请求"时的"SCR"。是否有任何方法可以访问所选的值,如"学生计数请求",而不是获取选项值?

如果这个问题含糊不清,需要进一步澄清,请告诉我。

选项的值是必需的吗?最简单的更改是删除这些值。例如:

<option>Student Count request</option>

如果您确实需要这些值,那么就有点棘手了:您已经使用JavaScript将动态控件添加到页面中,因此后面的代码将无法轻松找到它。您可以将ASP HiddenField控件添加到页面中,然后在选择下拉菜单时,使用JQuery/JavaScript用文本值填充该隐藏字段。然后在后面的代码中,您可以访问隐藏字段的值(这将是下拉选择的文本)。

你明白吗?你可以在这里进一步阅读,这是这个问题的重复,已经得到了回答:如何使用Request.Form()访问下拉文本(而不是值)?