我在我工作的公司中使用C#编写了一个内部Web服务(ASP.NET)。其中只有2个页面,其中一个页面包含DropDownList。 每当用户从DropDownList中选择一个项目时,我需要以某种方式将所选项目值传递给静态方法,并在页面的任何位置显示该方法的结果字符串。
我之前从未使用过ASP.NET或任何网页编程,对如何操作有点困惑,不确定从哪里开始查看。
答案 0 :(得分:1)
在你的aspx文件中你应该有:
<asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True"
onselectedindexchanged="ListBox1_SelectedIndexChanged"></asp:ListBox>
注意 AutoPostBack =“True”,它返回服务器并在用户更改列表框中的选择后立即触发selectedindexchanged事件
在您的代码隐藏(.cs文件)中 你应该这样:
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
// Call static method and pass the ListBox1.SelectedIndex
// MyStaticMethod(ListBox1.SelectedIndex);
}
答案 1 :(得分:0)
你可以选择autoPostBack =“true”并在服务器端处理change事件或使用jQuery订阅更改事件并在客户端获取值
答案 2 :(得分:0)
您应该查看microsoft为新.NET开发人员提供的一些优秀资源。他们将帮助您入门。她是一些非常好的视频链接,可以帮助你:http://www.asp.net/web-forms/videos
不确定您来自哪种语言,如果有的话......但是大多数情况下,webforms的工作方式与其他基于Web的方法很相似。
您的ASP.NET控件(在您的情况下是DropDownList)同时具有客户端和服务器端事件。
您可能希望在DropDownList上映射服务器端OnSelectedIndexChanged事件。
为了在该控件上进行回发,您需要在DropDownList上将AutoPostBack属性设置为true。
答案 3 :(得分:0)
尝试这个
在html中,
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
在aspx.cs页面中,
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string selctedValue = DropDownList1.SelectedValue;
/// Call yours static methid here
YourMethod(selctedValue);
}