【问题标题】:Getting data from an Input control in to code behind从输入控件获取数据到代码后面
【发布时间】:2011-11-07 03:07:47
【问题描述】:

我正在使用 asp.net C# 我也在使用 jQuery UI 日历控件。 calendar control

日历控件似乎想要使用 ID 为“datepicker”的输入控件。

<input type="text" id="datepicker"  />

我想在后面的代码中使用输入控件的值,但看到它不是 asp.net 控件,我不确定如何在后面的代码中引用它。

有谁知道后面代码中如何获取输入控件的值?

【问题讨论】:

    标签: c# html asp.net forms jquery-ui


    【解决方案1】:

    这里你必须提到包含输入标签的表单名称

    <input name="txtemail" id="txtemail" runat="server" type="text" class="cssspa" form="form"/>
    

    在 C# 中 字符串电子邮件 = txtemail.Value.ToString();

    现在你可以从文本框中获取数据了

    【讨论】:

    • 如果 OP 不想要服务器控件怎么办?
    【解决方案2】:

    既然您明确说代码隐藏,我假设您可能想继续使用 WebForms/Controls 模型?使用 clientidmode,您可以做到这一点,同时还可以为日历设置确定的 id 值。

    <asp:TextBox id="datepicker" ClientIDMode="Static" runat="server" />
    

    然后,您可以像往常一样从代码隐藏中直接与控件交互。

    但是,日历控件不需要特定的 ID。你可以用任何你想要的ID来初始化它

    <asp:TextBox id="DateTextBox" runat="server" />
    
    <script>
    $(function() {
        $( "#<%=DateTextBox.ClientID%>" ).datepicker();
    });
    </script>
    

    【讨论】:

      【解决方案3】:

      你可以像 onof 写的那样通过 Request 对象来访问值,或者你可以通过添加属性 runat 将每个 html 标签变成一个服务器控件:

       <input type="text" id="datepicker" runat="server" ClientIdMode="static" />
      

      属性 ClientIdMode="static" 确保标签 ID 不会被 ASP.NET 运行时更改。

      然后您可以访问自动生成的成员datePicker 的输入。

      【讨论】:

        【解决方案4】:

        如果要使用基本的表单拉取,需要添加name属性:

         <input type="text" id="datepicker" name="datepicker" />
        
         if(Page.IsPostBack)
         {
             string value = Request.Form["datepicker"];
         }
        

        或者,您可以将 is 标记为 HtmlInputControl

        <input type="text" id="datepicker" runat="server" />
        
        System.Web.UI.HtmlControls.HtmlInputControl datepickerControl = this.FindControl("datepicker") as System.Web.UI.HtmlControls.HtmlInputControl;
        
        if(datepickerControl != null)
            string value = datepickerControl.Value;
        

        【讨论】:

        • 添加 runat=server 不会改变页面上呈现的 id?
        • 道歉。是的,它会更改页面上呈现的 ID。如果在 ASP.NET 4 上可以使用 ClientIDMode="Static",如果要通过 jQuery 选择生成的 id,可以使用 $('&lt;$= datepicker.ClientID %&gt;')。
        【解决方案5】:

        使用

        <input type="text" id="datepicker" name="datepicker" />
        

        在后面的代码中:

        Request.Form["datepicker"]
        

        实际上,Request 的 Form 属性是由表单值填充的。

        【讨论】:

          猜你喜欢
          • 2012-11-29
          • 2013-10-15
          • 1970-01-01
          • 2013-07-02
          • 2011-05-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多