Javascript 如何从Asp.Net中的用户处获取DropDownList选定值(selectedIndexChange)
如何使用带有更新面板的selectedIndexChanged从asp.Net中的DropDownList获取所选值?我已经尝试过了,但是当我将自动PostBack添加到我的DropDownList时,它会将我发送到一个错误页面,告诉我它找不到资源。(甚至没有点击我的“selected_IndexChanged”),我已将hiddenField指定为所选值 这是我的下拉列表:Javascript 如何从Asp.Net中的用户处获取DropDownList选定值(selectedIndexChange),javascript,asp.net,Javascript,Asp.net,如何使用带有更新面板的selectedIndexChanged从asp.Net中的DropDownList获取所选值?我已经尝试过了,但是当我将自动PostBack添加到我的DropDownList时,它会将我发送到一个错误页面,告诉我它找不到资源。(甚至没有点击我的“selected_IndexChanged”),我已将hiddenField指定为所选值 这是我的下拉列表: <asp:ScriptManager ID="ScriptManager1" runat="server" /&g
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
<ContentTemplate>
<asp:DropDownList runat="server" ID="ddlCaseFilesNew" DataSourceID="dsCaseFiles"
DataTextField="Display" DataValueField="FileID" OnPreRender="ddl_PreRender" Width="300px"
AutoPostBack="true" OnSelectedIndexChanged="ddlCaseFilesNew_SelectedIndexChanged" Visible="False">
<asp:ListItem>Item 1</asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlCaseFilesNew" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
项目1
当我点击DropDownList中的某个值时,它会将我发送到“找不到资源”页面。我不知道为什么。它甚至连我的“onSelectedIndexChanged”都没碰
受保护的无效ddlCaseFilesNew\u SelectedIndexChanged(对象发送方,事件参数e)
{
hidNewCaseFile.Value=ddlCaseFilesNew.SelectedItem.Value;
}
使用:
或:
编辑1
您需要了解,对于UpdatePanel
中的所有控件,都会发生部分页面呈现,在您的情况下,您正在尝试设置hidNewCaseFile
控件的值属性,该属性在UpdatePanel
中似乎不,因此,其值将永远不会更新使用:
或:
编辑1
您需要了解,对于UpdatePanel
中的所有控件,都会发生部分页面呈现,在您的情况下,您正在尝试设置hidNewCaseFile
控件的值属性,该属性在UpdatePanel
中似乎不,因此,它的值永远不会更新在您选择的索引函数中,请使用
string sValue = ((DropDownList)sender).SelectedValue;
由于它位于更新面板中,您可能无法通过设计器(this.DdlId)访问它
根据您在OP中的评论,这可能是您需要的:
protected void ddlCaseFilesNew_SelectedIndexChanged(object sender, EventArgs e)
{
hidNewCaseFile.Value = ((DropDownList)sender).SelectedValue;
}
您还需要将隐藏字段移动到ContentTemplate中。在SelectedIndex函数中,使用
string sValue = ((DropDownList)sender).SelectedValue;
由于它位于更新面板中,您可能无法通过设计器(this.DdlId)访问它
根据您在OP中的评论,这可能是您需要的:
protected void ddlCaseFilesNew_SelectedIndexChanged(object sender, EventArgs e)
{
hidNewCaseFile.Value = ((DropDownList)sender).SelectedValue;
}
您还需要将隐藏字段移动到ContentTemplate中。hiddenField.Value=dropdownlist.SelectedItem.ToString()?hiddenField.Value=dropdownlist.SelectedItem.ToString()?请告诉我,上面的示例不太可能适用于OP,因为它位于updatepanel中。没关系,UpdatePanel
控件用于向服务器来回发送部分异步回发。您的服务器代码将正常工作,这就是UpdatePaneli的目的如果它在UpdatePanel中,它不是页面的控件,而是属于UpdatePanel的控件。然后呢?这甚至与问题无关。如果我们讨论的是数据绑定控件,这将是相关的。我礼貌地邀请您尝试一下,您可以通过页面ID访问更新面板
、面板
或占位符
中的控件,我不知道这一点。我已经至少5年没有使用AJAX.NET了,但是谢谢你提供的信息。请告诉我,但是上面的示例不太可能适用于OP,因为它位于updatepanel中。没关系,一个updatepanel
控件用于在服务器上来回发送部分异步回发。您的服务器代码将正常工作,这就是UpdatePaneli的目的如果它在UpdatePanel中,它不是页面的控件,而是属于UpdatePanel的控件。然后呢?这甚至与问题无关。如果我们讨论的是数据绑定控件,这将是相关的。我礼貌地邀请您尝试一下,您可以通过页面ID访问更新面板
、面板
或占位符
中的控件,我不知道这一点。我已经至少5年没有使用AJAX.NET了,但是谢谢你提供的信息。
protected void ddlCaseFilesNew_SelectedIndexChanged(object sender, EventArgs e)
{
hidNewCaseFile.Value = ((DropDownList)sender).SelectedValue;
}