使用c#声明HiddenField'值&Javascript变量

本文关键字:Javascript 变量 声明 HiddenField 使用 | 更新日期: 2023-09-27 18:18:04

我需要将下拉列表'dropCallbackReason'的'文本值'声明为'ValueHiddenField'的ID,以便我可以将其用作javascript变量。

我需要能够通过c#声明隐藏字段以及通过c#声明Javascript变量'callBackReason',任何想法如何通过c#做到这一点?

cs页面。

protected void Page_Load(object sender, EventArgs e)
    {
        HiddenField hiddenField = new HiddenField { ID = "ValueHiddenField", Value = "test" };
        theForm.Controls.Add(hiddenField);
        string script = @"function updateCallBackReason() {
                callBackReason = document.getElementById('<%=ValueHiddenField.ClientID %>').value;
                return callBackReason;
            }";
        this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "callBackReasonScript", script, true);

<asp:label runat="server" ID="lblCallbackReason" AssociatedControlID="dropCallbackReason" CssClass="textLabel">Reason for callback:</asp:label>
            <asp:DropDownList runat="server" ID="dropCallbackReason" onChange="updateCallBackReason" ClientIDMode="Static" >
                <asp:ListItem Text="-- Select Reason --" Value="1"></asp:ListItem>
                <asp:ListItem Text="Booking a Test Drive" Value="6"></asp:ListItem>
                <asp:ListItem Text="Discussing a Purchase" Value="11"></asp:ListItem>
                <asp:ListItem Text="Contract Hire Quotation" Value="45"></asp:ListItem>
            </asp:DropDownList>

使用c#声明HiddenField'值&Javascript变量

下面是如何以编程方式添加HiddenField控件。请注意,控件不能直接添加到Page.Controls中——它们应该放在一些容器中,如ContentPlaceholderPanel:

HiddenField hiddenField = new HiddenField {ID = "ValueHiddenField", Value = "test"};
SomePanel.Controls.Add(hiddenField);
下面是如何注册一个脚本块:
string script = @"function updateCallBackReason() {
                    callBackReason = document.getElementById('<%=ValueHiddenField.ClientID %>').value;
                    return callBackReason;
                }";
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "callBackReasonScript", script, true);

可以在Page_LoadPage_PreRender设置。