如何在asp对象向导控件上访问文本框值

时间:2017-07-26 18:12:00

标签: asp.net vb.net

我只想问一下如何访问asp.net对象向导控件中的文本框的值?

<asp:TextBox ID="tbGiftCertAmount" MaxLength="7" runat="server" meta:resourcekey="tbGiftCertAmount">1.00</asp:TextBox>

我试过这个,但它不起作用,只返回一个空值:

var el = document.getElementById('tbGiftCertAmount');
谢谢你!

2 个答案:

答案 0 :(得分:0)

  1. 如果可以看到文本框,请查看html源代码。
  2. 如果您可以看到它将ClientMode =“Static”添加为文本框的属性。在不添加ClientMode =“Static”的情况下,包含文本框的控件将更改id。
  3. 然后使用你的javascript来获取它。

答案 1 :(得分:0)

我假设您正在使用CreateUserWizard控件。如果您可以导航控制树以获取正确的ClientID

<script type="text/javascript">
    var el = document.getElementById('<%= CreateUserWizard1.WizardSteps[0].FindControl("CreateUserWizardStep1").Controls[0].FindControl("tbGiftCertAmount").ClientID %>');
    el.value = 'NewValue';
</script>

您的模板可能略有不同,因此您可能需要对其进行调整。

为了演示目的,我测试的向导的aspx代码包括tbGiftCertAmount

<asp:CreateUserWizard ID="CreateUserWizard1" runat="server">
    <WizardSteps>
        <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
            <ContentTemplate>

                <asp:TextBox ID="tbGiftCertAmount" runat="server"></asp:TextBox>

                <asp:TextBox ID="UserName" runat="server"></asp:TextBox>
                <asp:TextBox ID="Email" runat="server"></asp:TextBox>
                <asp:TextBox ID="Password" runat="server"></asp:TextBox>
            </ContentTemplate>
        </asp:CreateUserWizardStep>
        <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server">
        </asp:CompleteWizardStep>
    </WizardSteps>
</asp:CreateUserWizard>