无法获取UpdatePanel元素的值

问题描述

| 我在更新面板中有一个中继器。当我单击“查找书籍”按钮时,根据查询修改了中继器。 我想要的是单击“添加到购物车”按钮时获取DropDown的值。但是我无法获取该值,而是UpdatePanelAnimationExtender再次运行。我在“更新面板”中添加了另一个按钮(TestingButton)。当我也单击该按钮时,UpdatePanelAnimationExtender将运行。 我的问题是如何将更新面板仅限制为“查找图书”按钮?以及如何在更新面板之外检索DropDown的值?我将UpdateMode添加为有条件的,但它也无法正常工作。 aspx页面
        <p>Search by Author</p>
    <asp:TextBox ID=\"txtAuthor\" runat=\"server\" Text=\"\" AutoComplete=\"off\" /><br />
    <p>Search by Publisher</p>
    <asp:TextBox ID=\"txtPublisher\" runat=\"server\" Text=\"\" AutoComplete=\"off\" /><br />
    <asp:Button ID=\"btnFind\" runat=\"server\" Text=\"Find Books\" OnClick=\"BtnFind_Click\" />
    <br />
    <p>Search by Price</p>
    <asp:RadioButtonList ID=\"RadioButtonList1\" runat=\"server\">
        <asp:ListItem Text=\"Below Rs. 1000.00\"></asp:ListItem>
        <asp:ListItem Text=\"Between Rs. 1001 to 2500\"></asp:ListItem>
        <asp:ListItem Text=\"Above Rs. 2501.00\"></asp:ListItem>
    </asp:RadioButtonList>
    <br />
    <asp:TextBox ID=\"txtTest\" runat=\"server\"></asp:TextBox>
            <asp:Button ID=\"Button2\" runat=\"server\" Text=\"Button\" 
        onclick=\"Button1_Click\" />


    <asp:UpdatePanel ID=\"udpBooks\" UpdateMode=\"Conditional\"  runat=\"server\">
        <ContentTemplate>
            <asp:Button ID=\"btnTest\" runat=\"server\" Text=\"Testing Button\" onclick=\"Button1_Click\" />
            <asp:Repeater ID=\"repBooks\" runat=\"server\" DataSourceID=\"SqlDataSource1\" 
                onitemcommand=\"repBooks_ItemCommand\">
                <HeaderTemplate>
                </HeaderTemplate>
                <ItemTemplate>
                    <div id=\"bookBorder\">
                        <table width=\"640px\" height=\"70px\" border=\"0\">
                            <tr>
                                <td width=\"51%\" style=\"padding-top: -20px\">
                                    <span class=\"title\">Description:</span> :
                                    <%# DataBinder.Eval(Container.DataItem,\"description\")%>
                                </td>
                                <td>
                                    <asp:DropDownList ID=\"DropDownList2\" CssClass=\"dropDown\" runat=\"server\" Width=\"100px\">
                                        <asp:ListItem>1</asp:ListItem>
                                        <asp:ListItem>2</asp:ListItem>
                                        <asp:ListItem>3</asp:ListItem>
                                    </asp:DropDownList>
                                    <br />
                                    <asp:Button ID=\"btnAddToCart\" CssClass=\"button\" runat=\"server\" Text=\"Add to Cart\"
                                        OnClick=\"BtnAddToCart_Click\" />
                                </td>
                            </tr>
                        </table>
                    </div>
                    <br />
                </ItemTemplate>
            </asp:Repeater>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID=\"btnFind\" EventName=\"Click\" />
        </Triggers>
    </asp:UpdatePanel>
    <asp:UpdatePanelAnimationExtender ID=\"upae1\" runat=\"server\" TargetControlID=\"udpBooks\">
        <Animations>
                 <OnUpdating>
                    <Parallel Duration=\"0\">
                        <EnableAction AnimationTarget=\"btnFind\" Enabled=\"false\" />
                        <FadeOut MinimumOpacity=\".5\" />
                    </Parallel>
                </OnUpdating>
                <OnUpdated>
                    <Parallel Duration=\"0\">
                        <FadeIn MinimumOpacity=\".8\" />
                        <EnableAction AnimationTarget=\"btnFind\" Enabled=\"true\" />
                    </Parallel>                    
                </OnUpdated>
        </Animations>
    </asp:UpdatePanelAnimationExtender>
背后的代码
    public partial class Default3 : System.Web.UI.Page
{
    protected void Page_Load(object sender,EventArgs e)
    {

    }
    protected void SqldsOrderDetails_Selecting(object sender,SqlDataSourceSelectingEventArgs e)
    {
        string author = txtAuthor.Text;
        string publisher = txtPublisher.Text;
        string select = \"\";


        if (author.Equals(\"\") && publisher.Equals(\"\"))
            select = \"select bookId,ISBN,Title,publisher,author,price,description from dbo.[book]\";
        else if(author.Equals(\"\") && !publisher.Equals(\"\"))
            select = \"select bookId,description from dbo.[book] where publisher=@publisher \";
        else if(!author.Equals(\"\") && publisher.Equals(\"\"))
            select = \"select bookId,description from dbo.[book] where author=@author\";
        else if(!author.Equals(\"\") && !publisher.Equals(\"\"))
            select = \"select bookId,description from dbo.[book] where author=@author and publisher=@publisher\";

        SqlDataSource1.SelectCommand = select;
        e.Command.Parameters.Add(new SqlParameter(\"@author\",this.txtAuthor.Text));
        e.Command.Parameters.Add(new SqlParameter(\"@publisher\",this.txtPublisher.Text));
    }
    protected void BtnFind_Click(object sender,EventArgs e)
    {
        System.Threading.Thread.Sleep(2000);
//        this.gvOrderDetails.DataBind();
        this.repBooks.DataBind();
    }
    protected void ul_Click(object sender,EventArgs e)
    {
        Response.Redirect(\"default.aspx\");
    }

    protected void BtnAddToCart_Click(object sender,EventArgs e)
    {
        txtTest.Text = \"sd\";
    }
    protected void Button1_Click(object sender,EventArgs e)
    {
        txtTest.Text = \"sd\";
    }
    protected void repBooks_ItemCommand(object source,RepeaterCommandEventArgs e)
    {
        DropDownList d = e.Item.FindControl(\"DropDownList2\") as DropDownList;
        txtTest.Text = d.SelectedValue;
        Button b= e.Item.FindControl(\"btnAddToCart\") as Button;
        b.Text = d.SelectedValue;
    }
}
    

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)