Javascript 添加自动回发邮件时=";“真的”;若要下拉列表并单击项目,它会将我发送到“页面”;“找不到资源”;

Javascript 添加自动回发邮件时=";“真的”;若要下拉列表并单击项目,它会将我发送到“页面”;“找不到资源”;,javascript,asp.net,postback,Javascript,Asp.net,Postback,我很难获得用户从DropDownList中选择的值。我发现我需要回发才能重置我的值并重新分配。(我在页面控件中尝试了clientmode=“static”和执行“var dropDownList=$().val())之类的操作,但似乎没有任何效果。因此,我在标题中实现了这一点: <script runat="server"> protected void ddlCaseFilesNew_SelectedIndexChanged(object sender, Event

我很难获得用户从DropDownList中选择的值。我发现我需要回发才能重置我的值并重新分配。(我在页面控件中尝试了clientmode=“static”和执行“var dropDownList=$().val())之类的操作,但似乎没有任何效果。因此,我在标题中实现了这一点:

    <script runat="server">
    protected void ddlCaseFilesNew_SelectedIndexChanged(object sender, EventArgs e)
    {
        hidNewCaseFile.Value = ddlCaseFilesNew.SelectedItem.Value;
    }
</script>
如果你想把它放在更新面板中
您应该在ContentTemplate标记中添加hidNewCaseFile控件
例子:
在标题中
受保护的void DropDownList1\u SelectedIndexChanged(对象发送方,事件参数e)
{
hidNewCaseFile.Text=ddlCaseFilesNew.SelectedItem.Value;
}
体内
阿联酋
KSA
黎巴嫩
还要确保您有


在使用更新面板之前

能否显示:OnPreRender=“ddl\u PreRender”?否的代码?您不需要触发器,因为您在附加在SelectedIndexChanged=“DropDownList1\u SelectedIndexChanged”上的DropDownList1\u SelectedIndexChanged上定义了DropDownList1\u SelectedIndexChanged(object sender,EventArgs e)的属性
<div id="ddlFiles">
        <label>
            Select new CaseFile:</label>
        <asp:DropDownList runat="server" ID="ddlCaseFilesNew" DataSourceID="dsCaseFiles"
            DataTextField="Display" DataValueField="FileID" 
            OnPreRender="ddl_PreRender" Width="300px" AutoPostBack="true" 
            onselectedindexchanged="ddlCaseFilesNew_SelectedIndexChanged"/>
    </div>
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
        <asp:DropDownList runat="server" ID="ddlCaseFilesNew" DataSourceID="dsCaseFiles"
            DataTextField="Display" DataValueField="FileID" OnPreRender="ddl_PreRender" Width="300px"
            AutoPostBack="true" onselectedindexchanged="ddlCaseFilesNew_SelectedIndexChanged" />
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="ddlCaseFilesNew" EventName="SelectedIndexChanged" />
        </Triggers>
    </asp:UpdatePanel>
 protected void ddl_PreRender(object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList)sender;
    try
    {
        if (ddl.Items[0].Value != "-1")
            ddl.Items.Insert(0, new ListItem("--Select--", "-1"));
    }
    catch
    {
        ddl.Items.Insert(0, new ListItem("--Select--", "-1"));
    }

}
if you wanna have it in the update panel 

you should add the  the hidNewCaseFile control inside ContentTemplate  tags

Example : 


 in the header 

  <script runat="server">
        protected void   DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            hidNewCaseFile.Text = ddlCaseFilesNew.SelectedItem.Value;
        }



    </script>

in the body 




    <asp:UpdatePanel ID="UpdatePanel1" runat="server">

        <ContentTemplate>

            <asp:Label runat="server" ID="hidNewCaseFile" Text="Label"></asp:Label>
            <asp:DropDownList ID="ddlCaseFilesNew" AutoPostBack="true" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
        <asp:ListItem>Uae</asp:ListItem>
        <asp:ListItem>KSA</asp:ListItem>
        <asp:ListItem>Lebanon </asp:ListItem>


    </asp:DropDownList>



        </ContentTemplate>


    </asp:UpdatePanel>