Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从Asp.Net中的用户处获取DropDownList选定值(selectedIndexChange)_Javascript_Asp.net - Fatal编程技术网

Javascript 如何从Asp.Net中的用户处获取DropDownList选定值(selectedIndexChange)

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

如何使用带有更新面板的selectedIndexChanged从asp.Net中的DropDownList获取所选值?我已经尝试过了,但是当我将自动PostBack添加到我的DropDownList时,它会将我发送到一个错误页面,告诉我它找不到资源。(甚至没有点击我的“selected_IndexChanged”),我已将hiddenField指定为所选值

这是我的下拉列表:

<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;
}