C# 如何使我的ASP.NET页面将列表框中选择的值编码为HTTP请求URL的参数?
我在ASP.NET页面上有一个列表框:C# 如何使我的ASP.NET页面将列表框中选择的值编码为HTTP请求URL的参数?,c#,.net,asp.net,webforms,C#,.net,Asp.net,Webforms,我在ASP.NET页面上有一个列表框: <select id="Language" multiple size="5" name="Language" runat="server"> <option value="English" selected>English</option> <option value="French">French</option> <option value="German"&g
<select id="Language" multiple size="5" name="Language" runat="server">
<option value="English" selected>English</option>
<option value="French">French</option>
<option value="German">German</option>
</select>
英语
法语
德国的
并且包含该列表框的表单有一个“提交”按钮
当在列表框中选择了X
时,我希望页面形成对ProcessData.asmx?Language=X
的请求
如何实现这一点?您应该能够使用
Request.Form[“Language”]
或者将OnClientClick属性设置为
“javascript:WebForm_-DoPostBackWithOptions(新WebForm_-PostBackOptions('btnPost','',false','ProcessData.asmx?Language='+GetSelectedLang(),false,false))”
并在页面中添加GetSelectedLang()javascript函数。我建议您执行以下操作: 1) 钩住submit按钮的OnClientClick事件。 2) 使用return false取消该事件。 3) 在OnClientClick事件处理程序中,使用XmlHttpRequest手动向ProcessData.asmx发送GET请求,并附加所需的查询字符串参数。。我建议您使用第三方JavaScript Ajax库来实现这一点。下面是使用jQuery的简短示例:
<script type="text/javascript">
function clientClick() {
var $ = jQuery;
$.get(
url = "ProcessData.asmx",
data = { Language : $get('<%= Language.ClientID %>').value }
);
}
</script>
<asp:Button runat="server" ID="Button1" Text="Postback" OnClientClick="clientClick(); return false"/>
函数clientClick(){
var$=jQuery;
美元(
url=“ProcessData.asmx”,
数据={Language:$get('').value}
);
}
您的选择必须是表单的一部分。表单提交时,它会将所有内部控制值提交给操作
<form id="submit" action="ProcessData.asmx" runat="server">
<select id="Language" multiple size="5" name="Language" runat="server">
<option value="English" selected>English</option>
<option value="French">French</option>
<option value="German">German</option>
</select>
<input type="submit" text="Submit form"/>
</form>
英语
法语
德国的
带有do job for you:)的Submit按钮。此方法不会设置查询字符串参数,但是,我认为在这种情况下,根本不需要将语言作为查询字符串参数发送。
<form id="submit" action="ProcessData.asmx" runat="server">
<select id="Language" multiple size="5" name="Language" runat="server">
<option value="English" selected>English</option>
<option value="French">French</option>
<option value="German">German</option>
</select>
<input type="submit" text="Submit form"/>
</form>